0 / 0 / 0
Регистрация: 01.05.2016
Сообщений: 3
1

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

14.05.2016, 09:33. Показов 2333. Ответов 4
Метки нет (Все метки)

Здравствуйте, нужно решить следующую задачу посредством метода динамического программирования.
Максимизировать z=(y1+2)^2+y2y3+(y4-5)^2
при условиях
y1+y2+y3+y4<=5
yi>=0 и целые,i=1,2,3,4.
Подскажите, пожалуйста, каким методом ее решить? А то я что-то ничего не смог найти в интернете. И как ее будет в последующем запрограммировать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2016, 09:33
Ответы с готовыми решениями:

Задача о точках и отрезках. Метод динамического программирования
Добрый вечер, помогите пожалуйста разработать алгоритм для решения задачи: На прямой задано N...

Метод динамического программирования для задачи поиска наибольшей чередующейся подпоследовательности
Задача о поиске наибольшей чередующейся подпоследовательности. Имеется последовательность....

Посоветуйте язык программирования для решения задачи
Привет, участникам форума. Решил заняться сам программированием. Хочу написать программу для OS...

Алгоритм динамического программирования
Подскажите пожалуйста какой алгоритм применяется в динамическом программировании.

4
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
14.05.2016, 14:31 2
Философ9000
Эту задачу вообще можно решить с помощью
4-кратного цикла. Динамического решения я не вижу.
Но кажется задача может быть решена в уме.
1. Тут три слагаемых и все три положительные.
2. Элементарная логика. y4 = 0
3. y1 = 3
4. И наконец y2y3 = 1 (y1=y2=1)
Ответ: z=51
0
Нарушитель
1307 / 757 / 130
Регистрация: 12.10.2013
Сообщений: 5,067
14.05.2016, 17:47 3
Лучший ответ Сообщение было отмечено echs как решение

Решение

Судя по мутному описанию вики что такое динамическое программирование нужно разбить на мелкие подзадачи. А именно не считать всю функцию а разбить на мелкие и проанализировать как переменные влияют на 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
Вроде правильно =).
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
14.05.2016, 17:52 4
Excalibur921
Спасибо!
0
0 / 0 / 0
Регистрация: 01.05.2016
Сообщений: 3
14.05.2016, 19:31  [ТС] 5
Спасибо, так и буду делать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2016, 19:31

Задача о ранце. Для ее решения использовать метод динамического программирования
Товарищи, помогите пожалуйста с программной реализацией задачи о ранце. Система обработки...

Графический метод решения задач линейного программирования
Как это все решить в Mathcade

решения задач на ЭВМ и программирования на языке Паскаль
Доброго дня! Кто подскажет как решить задания, использую программу Паскаль?. У меня такой...

Графический метод решения задач линейного программирования
К теме прикреплен файл где написана и решена задача. Помогите написать ее на Паскале


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru