
- •Содержание.
- •I. Составление математической модели производственной задачи.
- •II. Преобразование математической модели линейной производственной задачи к виду основной задачи линейного программирования .
- •Опорный план первой симплексной таблицы.
- •Опорный план первой симплексной таблицы.
- •Опорный план третьей симплексной таблицы.
- •Выводы.
- •III. Указание обращённого базиса q, соответсвующего оптимальному выбору базисных неизвестных. Проверка выполнения соотношений.
- •IV. Формулировка двойственной линейной задачи и её решение двойственным симплексным методом.
- •Опорный план первой двойственной симплексной таблицы.
- •Экономический смысл полученных результатов.
- •V. “расшивка узких мест“ производства. Формулировка и составление математической модели.
- •VI. Составление модели новой производсtвенной программы с учётом пропорций.
- •VII. Метод ветвей и границ.
- •VIII . Транспортная задача.
- •Экономический смысл элементов таблицы.
- •IX. Решение задачи распределения капвложений методом динамического программирования.
- •X. Решение многокритериальной задачи методом последовательных уступок.
- •Хi. Решение матричной модели производственной программы.
- •Список литературы.
VIII . Транспортная задача.
-
1+а11
1+а12
1+а13
1+а14
1+а21
1+а22
1+а23
1+а24
1+а31
1+а32
1+а33
1+а34
За вектор объёмов производства примём вектор объёмов ресурсов:
(b1,b2,b3)
а за вектор объёмов потребления принять:
(с1,с2,с3,с4),
где
3 2 7 6
А = 1 4 1 5 – матрица транспортных издержек
4 3 5 1
140
b = 90 -- вектор объёма ресурсов
198
=(b1+b2+b3) / (c1 + c2 + c3 + c4) = (198+90+140) / (27+39+18+20) = 4
с= (27*4; 39*4; 18*4; 20*4) -- вектор объёма потребления
с=(108; 156; 72; 80)
В нашей задаче 4 потребителя и 3 поставщика, причём суммарный объем поставок равный 428 превышает суммарный объем потребления равный 416. Поэтому для решения задачи ведём дополнительно ещё одного потребителя, с потреблением равным 12.
Имеем:
-
p\q
q1 = 3
q2 = 6
q3 = 2
q4 = 5
q5 = 0
--
p1 = 0
3
90
2
108
7
--
6
--
0
--
198
p2 = -2
1
18
4
--
1
72
5
--
0
--
90
p3 = 1
4
--
3
48
5
--
1
80
0
12
140
--
108
156
72
80
12
Для заполненных клеток pi + qj = Cij
Проверка на оптимальность
Для незаполненных клеток ij=pi + qj - cij
13 = -4 14 = -6 15 = -1
22 = -4 24 = -7 25 = -3
31 = 0 33 = -1
Т.к. все ij 0, то мы нашли оптимальное решение:
90 108 -- -- --
Xопт = 18 -- 72 -- --
-- 48 -- 80 12
Rmin = 90*3 + 108*2+ 18 + 72 + 48*3 + 80 = 3840
Экономический смысл элементов таблицы.
Пример: p2 = -2 – 2-й поставщик получает 2 денежные единицы за доставку 90 единиц продукции. q2 = 2 - 2 денежные единицы платит второй потребитель за доставку ему 156 единиц продукции.
IX. Решение задачи распределения капвложений методом динамического программирования.
Динамическое программирование - это вычислительный метод для решения задач управления определённой структуры. Данная задача с n переменными представляется как много шаговый процесс принятия решений. На каждом шаге определяется экстремум функции только от одной переменной.
Рассмотрим нелинейную задачу распределения ресурсов между предприятиями отрасли. Предположим, что указано n пунктов, где требуется построить или реконструировать предприятия одной отрасли, для чего выделено b рублей. Обозначим через fj(xj) прирост мощности или прибыли на j-том предприятии, если оно получит xj рублей капвложений. Требуется найти такое распределение (х1, х2, ..., хn) капвложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли
Z=f1(x1)+f2(x2)+...+fn(xn)
при ограничении по общей сумме капвложений
х1 + х2 +...+хn = b
причём будем считать, что все переменные xj принимают только целые значения xj =1,2,...
Функции fj(xj) мы считаем заданными, заметив, что их определение -довольно трудоёмкая экономическая задача.
Воспользуемся методом динамического программирования для решения этой задачи.
Введём параметр состояния и определим функцию состояния. За параметр состояния примем количество рублей, выделяемых нескольким предприятиям, а функцию состояния Fk() определим как максимальную прибыль на первых k предприятиях, если они вместе получат рублей. Параметр может меняться от 0 до b. Если из рублей k-ое предприятие получит Хк рублей, то каково бы ни было это значение, остальные -Хк рублей естественно распределить между предприятиями от 10-го до (к-1)-го предприятия, чтобы была получен максимальная прибыль Fk-1(-xk). Тогда прибыль k предприятий будет равна fk(xk) + Fk-1(-xk). Надо выбрать такое значение xk между 0 и , чтобы эта сумма была максимальной, и мы приходим к рекуррентному соотношению:
Fk() = max {fk(xk) + Fk-1(-xk)}
0 X
для k=2,3,....,n .Если же k=1 ,то
F1()=f1().
Рассмотрим конкретный пример. Пусть производственное объединение состоит из 4-х предприятий (k=4).Общая сумма капвложений равна 700 тыс. рублей (b=700) , выделяемые предприятиям суммы кратны 100 тыс. рублей.
Значения функций fj(xj) приведены в табл. 1.
Прежде всего заполняем табл.3. Значения f2(x2) складываем со значениями F1(-x2)=f1(-x2) и на каждой побочной диагонали находим наибольшее число, которое помечаем звёздочкой. Заполняем табл .3.
Продолжая процесс табулируем функции F3(), x3() и т.д. В табл.6 заполняем только одну диагональ для значения =700.
Таблица 1.
Xj |
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
f1(xj) |
0 |
15 |
26 |
38 |
45 |
52 |
58 |
63 |
f2(xj) |
0 |
10 |
17 |
23 |
29 |
34 |
38 |
41 |
f3(xj) |
0 |
11 |
19 |
26 |
30 |
33 |
35 |
36 |
f4(xj) |
0 |
25 |
34 |
41 |
46 |
50 |
53 |
56 |
Таблица 2.
|
-х2 |
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
х2 |
|
0 |
15 |
26 |
38 |
45 |
52 |
58 |
63 |
0 |
0 |
0 |
15 |
26 |
38 |
45 |
52 |
58 |
63 |
100 |
10 |
10 |
25 |
36 |
48 |
55 |
62 |
68 |
--- |
200 |
17 |
17 |
32 |
43 |
55 |
63 |
69 |
--- |
--- |
300 |
23 |
23 |
38 |
49 |
61 |
68 |
--- |
--- |
--- |
400 |
29 |
29 |
44 |
55 |
68 |
--- |
--- |
--- |
--- |
500 |
34 |
34 |
49 |
60 |
--- |
--- |
--- |
--- |
--- |
600 |
38 |
38 |
53 |
--- |
--- |
--- |
--- |
--- |
--- |
700 |
41 |
41 |
--- |
--- |
--- |
--- |
--- |
--- |
--- |
Таблица 3.
|
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
F2() |
0 |
15 |
26 |
38 |
48 |
55 |
63 |
69 |
x2() |
0 |
0 |
0 |
0 |
100 |
100 |
200 |
200 |
x2() |
0 |
0 |
0 |
0 |
100 |
200 |
200 |
200 |
Таблица 4.
|
-x3 |
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
x3 |
|
0 |
15 |
26 |
38 |
48 |
55 |
63 |
69 |
0 |
0 |
0* |
15* |
26* |
38* |
48 |
55 |
63 |
69 |
100 |
11 |
11 |
25 |
36 |
49* |
59* |
66 |
74* |
--- |
200 |
19 |
19 |
34 |
45 |
57 |
67* |
74* |
--- |
--- |
300 |
26 |
26 |
41 |
52 |
64 |
74* |
--- |
--- |
--- |
400 |
30 |
30 |
45 |
56 |
68 |
--- |
--- |
--- |
--- |
500 |
33 |
33 |
48 |
59 |
--- |
--- |
--- |
--- |
--- |
600 |
35 |
35 |
50 |
--- |
--- |
--- |
--- |
--- |
--- |
700 |
36 |
36 |
--- |
--- |
--- |
--- |
--- |
--- |
--- |
Таблица 5.
|
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
F3() |
0 |
15 |
26 |
38 |
49 |
59 |
67 |
74 |
x3() |
0 |
0 |
0 |
0 |
100 |
100 |
200 |
100 |
x3() |
0 |
0 |
0 |
0 |
100 |
100 |
200 |
200 |
x3() |
0 |
0 |
0 |
0 |
100 |
100 |
200 |
300 |
Таблица 6.
|
-x4 |
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
x4 |
|
0 |
15 |
26 |
38 |
49 |
59 |
67 |
74 |
0 |
0 |
0 |
15 |
26 |
38 |
49 |
59 |
67 |
74 |
100 |
25 |
25 |
|
|
|
|
|
92 |
|
200 |
34 |
34 |
|
|
|
|
93* |
|
|
300 |
41 |
41 |
|
|
|
90 |
|
|
|
400 |
46 |
46 |
|
|
84 |
|
|
|
|
500 |
50 |
50 |
|
76 |
|
|
|
|
|
600 |
53 |
53 |
68 |
|
|
|
|
|
|
700 |
56 |
56 |
|
|
|
|
|
|
|
Наибольшее число диагонали в табл.6 :
Zmax = 93 тыс. рублей
X4* = X(700) = 200
X3*+X2*+X1*=700–200=500
В табл.5:
где сумма равна 500
Х3* = 100
Х1*+Х2*=500-100=400
В табл.3.
где сумма равна 400
Х2*=100
Х1*=400-100=300
Оптимальная программа: 1) Х1*=300 ; Х2*=100 ;
Х3*=100 ; Х4*=200
Zmax(X1*;... X4*)=38+10+11+34=93 так как выполнилось равенство
Zmax(X1*;... X4*) = 101 эта программа оптимальна
Ответ: Оптимальная производственная программа имеет вид:
Х1* = 300 ; Х2* = 100 ; Х3* = 100 ; Х4* = 200 , при этом максимальная прибыль составляет 93 тыс. руб.