Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Флейм
  • » комбинаторная задача распределения. динамическое программирование [RSS Feed]

#1 Март 11, 2011 12:11:26

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

комбинаторная задача распределения. динамическое программирование

Здравствуйте.
Нужно найти алгоритм решения нижеприведенной задачи. Причем алгоритм должен быть НЕ указанный ниже.
Буду рад любым вашим мыслям на этот вопрос
ps. препод принимает только на маткаде :(
Задача.
На входе имеем таблицу:

'$' |  I | II  | III  |
0 0 0 0
1 0.1 0.12 0.05
2 0.6 0.5 0.4
...
10 1.5 1.6 2.1
где 1 столбец: сколько вложено (от 0 до 10 через 1), 2 столбец(I город) - прибыль полученная от этого вложения, 3 и 4 для II и III города соответственно.
Нам нужно найти максимальную прибыль со всех городов при общем вложении 10$, те ответ должен быть примерно таким (5+3+2) = 1,35 . (внутри скобок это распределение по городам и сумма равна 10)
Решение.
1) тупой перебор.
т.е. генерируем все возможные комбинации и считаем с них доход, максимальный и будет наш ответ
(10+0+0)=0,1; (9+0+1)=0,2;……(1+5+4)=0,3

2)как в книге ‘А. Кофман, Р.Фор Займемся исследованием операций.’
https://docs.google.com/document/d/1mNkxrSJ48wrJLf_8YX3Sx6ydblhvePQeLyOTI3aamVE/edit?hl=en

3)Преобразуем матрицу вложений в “дифференциальную” форму - когда в столбцах вложений указаны не абсолютные значения прибыли, а прибыль на очередной “$” вложения
http://xmages.net/storage/10/1/0/a/6/upload/dfd380de.jpg
Вычисляем оптимальные вложения
Ограничения: зависимость “прибыль от числа вложенных $” для ис-ходных зон должна быть НЕУБЫВАЮЩЕЙ функцией.
http://xmages.net/storage/10/1/0/f/7/upload/cc558e01.jpg



Офлайн

#2 Март 11, 2011 14:20:18

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

комбинаторная задача распределения. динамическое программирование

Это классическая “Задача о ранце”, где вложение это вес, а сумма прибыли со всех городов - стоимость. Решение — в гугле.

Офлайн

  • Начало
  • » Флейм
  • » комбинаторная задача распределения. динамическое программирование[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version