Лабораторные работы по Методам Оптимизации

Автор: Пользователь скрыл имя, 13 Декабря 2011 в 08:55, лабораторная работа

Краткое описание

Динамическое программирование – метод оптимизации, в котором процесс принятия решения и управления может быть разбит на отдельные этапы (шаги).

В отличие от линейного программирования, в котором симплексный метод является универсальным методом решения, в динамическом программировании такого универсального метода не существует. Одним из основных методов динамического программирования является метод рекуррентных соотноше –ний, который основывается на использовании принципа оптимальности Беллмана.

Файлы: 2 файла

Лабараторная работа №2.doc

— 939.50 Кб (Скачать)

                     (S) =                 (x) + (S – x)

и соответствующее  ему условное оптимальное управление хk(S) – то значение х, при котором этот максимум достигается.

   Продолжая таким образом, дойдем, наконец, до 1-го предприятия P1. Здесь нам не нужно будет варьировать значения S, мы точно знаем, что запас средств перед первым шагом равен К:

                         = (K) =              (х) + W2(K – х)

   Итак, максимальный выигрыш (доход) от всех предприятии найден. Теперь остается только „прочесть рекомендацииˮ. То значение х, при котором достигается максимум Z*, и есть оптимальное управление на 1-м шаге. После того как мы вложим эти средства в 1-е предприятие, у нас их останется К – х1. „Читаяˮ рекомендацию для этого значения S, выделяем второму предприятию оптимальное количество средств: = (K ), и так далее до конца. 
 
 
 
 
 

   
Sk 1 xk Sk i = 3 i = 2 i = 1
0 0 0 0 0 0 0 0 0 0 0 0
50 0

50

50

0

0 + 28 = 28

27 + 0 = 27

28 0 0 + 28 = 28

26 + 0 = 26

28 0      
100 0

50

100

100

50

0

0 + 35 = 35

27 + 28 = 55

35 + 0 = 35

55 50 0 + 55 = 55

26 + 28 = 54

33 + 0 = 33

55 0      
150 0

50

100

150

150

100

50

0

0 + 44 = 44

27 + 35 = 62

35 + 28 = 63

45 + 0 = 45

63 100 0 + 63 = 63

26 + 55 = 81

33 + 28 = 61

46 + 0 = 46

81 50      
200 0

50

100

150

200

200

150

100

50

0

0 + 55 = 55

27 + 44 = 71

35 + 35 = 70

45 + 28 = 73

56 + 0 = 56

73 150 0 + 73 = 73

26 + 63 = 89

33 + 55 = 88

46 + 28 = 74

58 + 0 = 58

89 50      
250 0

50

100

150

200

250

250

200

150

100

50

0

0 + 80 = 80

27 + 55 = 82

35 + 44 = 79

45 + 35 = 80

56 + 28 = 84

79 + 0 = 79

84 200 0 + 84 = 84

26 + 73 = 99

33 + 63 = 96

46 + 55 = 101

58 + 28 = 86

77 + 0 = 77

101 150 0 + 101 = 101

25 + 89 = 114

34 + 81 = 115

46 + 55 = 101

57 + 28 = 85

78 + 0 = 78

115 100
 

   Для пояснения хода решения рассмотрим порядок выполнения рассчетов, например, для шага k = 2 и количества вложений S = 200.

   Для этого составим отдельную вспомогательную  таблицу, для которой более подробно рассмотрим рассчет.

х 200 – х f2(х)
(200 – х)
f2(х) +
(200 – х)
0 200 0 73 73
50 150 26 63 89
100 100 33 55 88
150 50 46 28 74
200 0 58 0 58
 

   Здесь в первом столбце перечислены  все возможные вложения х на втором шаге, не превосходящие значения S = 200 (напомним, что х изменяется с дискретностью 50 единиц). Во втором столбце – то, что останется после такого вложения от запаса средств S = 200. В третьем столбце – выигрыш на втором шаге от вложения средств х во второе предприятие (заполняется по столбцу „Предприятие 2ˮ таблицы исходных данных). В четвертом столбце – оптимальный выигрыш на всех оставшихся шагах (третьем и  
 

четвертом, которые уже оптимизированы) при  условии, что мы подошли к третьему шагу с оставшимися средствами (заполняется  по столбцу i = 3 главной таблицы). В пятом столбце – сумма двух выигрышей: шагового и оптимизированного дальнейшего при данном вложении x во второй шаг.

   Из  всех выигрышей последнего столбца  выбирается тот, который максимальный. В данном случае он равен W2 (200) = 89, а соответствующее управление х  (200) = 50 (обозначено в таблице жирным шриф –том).

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

   Отметим, что такие таблички удобно использовать при рассчетах для большого числа значений х, чтобы не загромождать главную таблицу. В нашем случае количество значений х не так велико (всего пять), поэтому удобнее произвести расчет прямо в главной таблице.

   Так же нужно отметить, что заполнение таблицы на последнем (в нашем случае 4-м) шаге производится по таблице исходных данных – так как на этом шаге (х) = f4(х).

   На  последнем шаге заполнена только одна строка – так как состояние  системы на первом шаге известно и равно S = K = 250. При этом найденный на первом шаге доход и есть искомый оптимальный выигрыш.

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

   Для этого нужно взять оптимальное  управление на 1-м шаге, которое равно х (250) = 100 (именно при нем у нас получился максимальный выигрыш), затем вычесть его из начальных средств S = K = 250.

         250 100 = 150 – количество средств S, с которым мы пришли ко 2-му шагу.

   На  втором шаге при S = 200, чтобы получить максимум прибыли, нам нужно вложить во второе предприятие количество средств, равное х (200) = 50.

   В итоге у нас осталось 150 – 50 = 100 средств, которые мы вложим в оставшиеся третье и четвертое предприятия.

   Посмотрим, что останется на третьем шаге S = 150.

   100 100 = 0.

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

   Ответ: максимум суммарной прибыли равен 115 млн. рублей. Кроме того получилось, что первому предприятию выделено 100 млн. рублей, второму – 50 млн. рублей, третьему – 100 млн. рублей, а четвертому предприятию ничего не было выделено.

Лабораторная работа № 1.doc

— 160.50 Кб (Открыть, Скачать)

Информация о работе Лабораторные работы по Методам Оптимизации