Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
16.12.2013
Размер:
302.08 Кб
Скачать

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 тыс. руб.

Соседние файлы в папке Курсовики по прикладной математики