Лабораторная работа № 6. Динамическое программирование
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Задача. Планируется деятельность четырех промышленных предприятий (системы) на очередной год. Начальные средства: S0=5 условных единиц. Размеры вложения в каждое предприятие кратны 1 условной единице. Средства Х, выделенные k–му предприятию (k=1, 2, 3, 4), приносит в конце года прибыль fk(X). Функции fk(X) заданы таблично:

Х f1(X) f2(X) f3(X) f4(X)
1 2 3 4 5 8 10 11 12 18 6 9 11 13 15 3 4 7 11 18 4 6 8 13 16

Определить, какое количество средств нужно выделить каждому предприятию, чтобы суммарная прибыль наибольшей.

Решение.

Обозначим через Xk количество средств, выделенных k-му предприятию. Суммарная прибыль равна . Переменные X удовлетворяют ограничениям:  Требуется найти переменные X1, X2, X3, X4, удовлетворяющие данным ограничениям и обращающие в максимум функцию Z.

Рассмотрим особенности модели. Ограничения линейные, но переменные целочисленные, а функции fk(Xk) заданы таблично, поэтому нельзя применить методы целочисленного линейного программирования.


Схема решения задачи методом ДП имеет следующий вид: процесс решения распределения средств S0=5 можно рассматривать как 4-шаговый, номер шага совпадает с номером предприятия; выбор переменных X1, X2, X3, X4 – уравнения соответственно на I, II, III, IV шагах; Ŝ - конечное состояние процесса распределения – равно нулю, так как все средства должны быть вложены в производство, Ŝ=0. Покажем схему распределения:

Уравнения состояний в данной задаче имеют вид:

 

S k=S k-1-X, (k= ),

где Sk-параметр состояния – количество средств, оставшихся после k-го шага, т.е. средства, которые остается распределить между оставшимися (4-k) предприятиями.

Введем в рассмотрение функцию Zk* (Sk-1) – условно оптимальную прибыль, полученную от k-го, (k+1)-го, ..., 4-го предприятий, если между ними распределялись оптимальным образом средства Sk-1 (0 £ Sk-1 £ 5). уравнения на k-ом шаге удовлетворяют условию: 0 £ Xk£Sk-1 (либо k-му предприятию ничего не выделяем, Xk=0, либо не больше того, что имеем к k-му шагу, Xk £ Sk-1 ).

 

Последовательно решаем уравнения

 проводя последовательную оптимизацию каждого шага. Для этого поступим следующим образом.

1. Создадим тексто­вую форму – таблицу для ввода условий задачи. Введем исходные данные задачи в созданную форму-таблицу:

2. В ячейку E15 введем формулу

=ИНДЕКС($B$3:$F$8; ПОИСКПОЗ($C15;$B$3:$B$8); G$12+1), скопируем формулу с ячейки E15 до ячейки Е35. 

3. В ячейку F15 введем формулу

=ИНДЕКС($B$3:$F$8;ПОИСКПОЗ($D15;$B$3:$B$8);5), скопируем формулу с ячейки F15 до ячейки F35.

4. В ячейку G15 введем формулу =E15+F15, скопируем формулу с ячейки G15 до ячейки G35.

5. Находим максимальное значение для каждого состояния от 0 до 5, для этого в ячейку Н15 введем формулу =МАКС(G15), после копирования формулы в ячейку H16, необходимо изменить диапазон с G16 на G16:G17, для этого стоя в строке формул необходимо растянуть выделенный прямоугольник на одну ячейку вниз. Затем копируем формулу из H16 в ячейку H18 и проводим такие же операции по увеличению диапазона, и т.д. до ячейки H30.

6. Находим значение управления Хk, которому соответствует максимальное значение функции Zk, для этого в ячейку I15 введем формулу =ИНДЕКС($C15:G15;ПОИСКПОЗ(H15;G15;0);1), скопируем формулу в ячейки I16, I18, I21, I25, I30 постепенно увеличивая диапазон, аналогично тому, как это делалось в пункте 5. В результате получим следующую таблицу:

7.  Выделяем диапазон ячеек E15:I35 выполняем команду Копировать, устанавливаем курсор в ячейку J15 выполняем команду Вставить.

8. Изменим формулу функции Z3*(S2). В ячейки K15, K16, K18, K21, K25, K30, введем соответственно максимальные значения предыдущего шага, находящиеся в ячейках H15, H16, H18, H21, H25, H30. В остальные ячейки поместим значения, стоящие в этом же столбце и соответствующие предыдущим Sk. В ячейку K17 копируем значение ячейки K15; в ячейки K19 и K20 – значения K16 и K17; в K22:K24 – K18:K20 и т. д. до ячейки K35. В результате получим:

 

9. Выделяем диапазон ячеек J15:N35 выполняем команду Копировать, устанавливаем курсор в ячейку O15 выполняем команду Вставить. В результате получаем заполненную таблицу:

10. Сравнивая полученные значения, получим Z1*(5)=24 усл. ед. = Zmax при X1*= X1*(5)=1. Вычисляя, получим S1* = 5 - 1 = 4, а по таблице в столбце 12 находим X2* = X2* (4) = 2. Далее находим S2* = 4-2 = 2, а в столбце 6 X3* = X3*(2) = 1. Наконец, S3* = 2-1 = 1 и X4*  = X4*(1) = 1, т. е. X*(1; 2; 1; 1).

  Максимум суммарной прибыли равен 24 усл. ед. средств при условии, что 1-му предприятию выделено 1 усл. ед.; 2-му предприятию – 2 усл. ед.; 3-му предприятию – 1 усл. ед.; 4-му предприятию – 1 усл. ед.

 

Задачи для самостоятельного решения

 

1. Планируется деятельность четырех промышленных предприятий (системы) на очередной год. Начальные средства: S0=5 условных единиц. Размеры вложения в каждое предприятие кратны 1 условной единице. Средства Х, выделенные k–му предприятию (k=1, 2, 3, 4), приносит в конце года прибыль fk(X). Функции fk(X) заданы таблично:

Х f1(X) f2(X) f3(X) f4(X)
1 2 3 4 5 0,2 0,9 1,0 1,2 2,0 1,0 1,1 1,3 1,4 1,8 2,1 2,5 2,9 3,9 4,9 0 2,0 2,5 3,0 4,0

Определить, какое количество средств нужно выделить каждому предприятию, чтобы суммарная прибыль наибольшей.

2. Планируется деятельность трех промышленных предприятий на очередной год. Начальные средства: S0=9 условных единиц. Размеры вложения в каждое предприятие кратны 1 условной единице. Средства Х, выделенные k–му предприятию (k=1, 2, 3), приносит в конце года прибыль fk(X). Функции fk(X) заданы таблично:

Х f1(X) f2(X) f3(X)
1 2 3 4 5 6 7 8 9 5 9 12 14 15 18 20 24 27 7 9 11 13 16 19 21 22 25 6 10 13 15 16 18 21 22 25  

Определить, какое количество средств нужно выделить каждому предприятию, чтобы суммарная прибыль наибольшей.

 



ЛИТЕРАТУРА

  1. Акоф, Р., Сасиени, М. Основы исследования операций. / Пер. с англ. Под ред. И. А. Ушакова. М.: Мир., 1971.- 536 с.
  2. Волков, И.К., Загоруйко, Е.А. Исследование операций: учебник для вузов. М.: МГТУ им. Н. Э. Баумана. 2000. - 436 с.
  3. Добрынина, И.В. Исследование операций: учебно-методическое пособие. Тула: ТГУ. 2002. - 120 с.
  4. Додж, М., Стинсон, К. Эффективная работа с Microsoft Excel 2000. – СПб.: Питер, 2002. – 1056 с.
  5. Кремер, Н.Ш. Исследование операций в экономике: учебное пособие для вузов. М.: ЮНИТИ. 1997. - 407 с.
  6. Курицкий, Б.Я. Поиск оптимальных решений средствами MS Excel 7.0. С.-П. BHV.1997.-384 с.
  7. Экономико-математические методы и прикладные модели: компьютерный практикум. М.: ИНФРА, –М. 2002. – 72 с.

 

Дата: 2019-12-10, просмотров: 371.