Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2016, 12:05   #1
kolyan3000
Новичок
Джуниор
 
Регистрация: 14.05.2016
Сообщений: 3
По умолчанию Алгоритм решения задач динамического программирования

Здравствуйте, нужно решить следующую задачу посредством метода динамического программирования.
Максимизировать z=(y1+2)^2+y2y3+(y4-5)^2
при условиях
y1+y2+y3+y4<=5
yi>=0 и целые,i=1,2,3,4.
Подскажите, пожалуйста, каким методом ее решить? А то я что-то ничего не смог найти в интернете. И как ее будет в последующем запрограммировать?
kolyan3000 вне форума Ответить с цитированием
Старый 14.05.2016, 12:43   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Дак тут одними рассуждениями правильный ответ получишь! На кой тут чтото ещё?
Poma][a вне форума Ответить с цитированием
Старый 14.05.2016, 12:49   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
каким методом ее решить?
думаю, что методом
Цитата:
динамического программирования.
Чо это за хрень - не знаю, но программу написать бы смог минут за 7.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.05.2016, 19:25   #4
kolyan3000
Новичок
Джуниор
 
Регистрация: 14.05.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Дак тут одними рассуждениями правильный ответ получишь! На кой тут чтото ещё?
Так ответ я уже давным давно знаю, но как это решить с помощью динамического программировния? Мне по этому лабу сдавать и я же преподу не скажу, что эту задачу я решел простым подбором.
kolyan3000 вне форума Ответить с цитированием
Старый 14.05.2016, 19:48   #5
kolyan3000
Новичок
Джуниор
 
Регистрация: 14.05.2016
Сообщений: 3
По умолчанию

Короче мне тут уже помогли, может кому понадобится вот решение:
нужно разбить на мелкие подзадачи, а именно не считать всю функцию, а разбить на мелкие и проанализировать как переменные влияют на Z ( на результат).

Подставляем yi от 0 до 5 в каждый пример где он есть. И находим max.
z=(y1+2)^2+y2y3+(y4-5)^2
0) (y1+2)^2 max y1=5 f=49
1)y2 max y2=5 f=5
2)y3 max y3=5 f=5
3) (y4-5)^2 max y4=0 f=25
Значит самый сильный рост в y1=5, остальное ноль.

z=(5+2)^2+0*0+(0-5)^2=49+25=74
Ответ: z=74
kolyan3000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача о ранце на С# методом динамического программирования Fiamma Помощь студентам 7 11.04.2014 11:37
Симплекс метод для решения задач линейного программирования zarinac Помощь студентам 3 16.03.2012 16:02
Создание программы для решения задач коммивояжера и динамического программирования vargos Фриланс 2 20.02.2012 14:56
Алгоритм решения задач на паскале Сергей75 Фриланс 10 10.12.2010 18:48
Общий алгоритм решения графических задач на ДЕЛФИ! sting Помощь студентам 8 06.06.2009 21:31