Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR1.doc
Скачиваний:
27
Добавлен:
09.11.2019
Размер:
350.21 Кб
Скачать

Лабораторна робота №1. Аналіз задач стохастичного програмування.

Короткі теоретичні відомості

Варіанти постановки задачі стохастичного програмування

Математична модель задачі оптимізації включає в себе три елементи:

-функцію мети;

-обмеження;

-граничні умови.

Якщо коефіцієнти сj в функції мети – випадкові величини, то можливі дві постановки задачі оптимізації:

-максимізація (мінімізація) середнього значення функції мети, яка називається М-постановкою:

M[F]→max(min); (1)

-максимізація ймовірності отримання максимального (мінімального) значення, яка називається Р-постановкою:

Р[F]→max(min). (2)

Якщо випадковими є величини аij i bi, які входять до обмежень, то і-е обмеження

записується так:

, (3)

де і – задана ймовірність, з якою повинно виконуватись і-е обмеження.

Запис граничних умов може бути виконаний в двох варіантах. Якщо в обмеженні

dj≤xj≤Dj (4)

dj, Dj – детерміновані величини, то обмеження залишаються в такому вигляді. Якщо dj, Dj – випадкові величини, то обмеження розглядаються як два:

(5)

при цьому кожне з них записується аналогічно (3). Так, xj≤Dj буде мати вигляд

P[xj≤Dj]≤i.

Потрібно сказати, що в практичних задачах граничні умови dj, Dj випадковими величинами є вкрай рідко, тому їхній запис будемо зберігати у вигляді (4). Об’єднуючи функцію мети, обмеження та граничні умови, можна сформулювати дві постановки задачі стохастичного програмування.

М-постановка

(6)

Р-постановка

(7)

Обидві постановки представляють собою задачі нелінійного програмування.

Розв’язок та аналіз задач в М-постановці

Детермінований еквівалент

Задача стохастичного програмування в М-постановці (6) безпосередньо розв’язана бути не може. Для розв’язку (6) потрібно перейти до її детермінованого еквіваленту. В цьому випадку функція мети записується так:

(8)

Детермінований еквівалент обмежень має наступний вигляд:

(9)

де і – заданий рівень ймовірності, з якою повинно виконуватися і-е обмеження;

t(і) – обчислюється за допомогою функції НОРМСТОБР(аі).

Введемо позначення

(10)

Ця величина залежить від розбігу значень аij,bi.

У випадку детермінованих вихідних даних Wi=0 та (9) буде мати вигляд детермінованої задачі:

(11)

З (9) видно, що в задачі розподілу ресурсів член t(i)Wi – це величина додаткового ресурсу, який потрібен внаслідок ймовірнісних вихідних даних. Таким чином, при розв’язку задачі будемо користуватись детермінованим еквівалентом:

(12)

Виконання роботи

Підготовка даних

Розв’язок задачі стохастичного програмування (12) будемо розглядати для задачі розподілу ресурсів, яку розв’язували при вивченні лінійного програмування.

Підприємство випускає продукцію за наступними потребами і прибутком:

Продукт 1

Продукт 2

Продукт 3

Продукт 4

Запас

Трудові

1

1

1

1

4.00

Сировина

6

5

4

3

18.00

фінанси

4

6

10

13

33.00

Прибуток

60

70

120

130

Необхідно скласти програму випуску продукції з метою максимізації прибутку.

При вводі вихідних даних достатньо часто значення σ[aij], σ[bi] бувають невідомими. В цьому випадку можна задати коефіцієнт варіабільності v(x)=σ[x]/M[x] та, знаючи який, визначити

σ[x]=v(x) M[x] (13)

Підготовка даних проводиться по наступному алгоритму.

Алгоритм 1. Введення вихідних даних для детермінованого еквівалента.

A

B

C

D

E

F

G

H

I

J

K

L

M

1

2

Ім’я

Прод.1

Прод.2

Прод.3

Прод.4

3

значення

1.00

1.00

1.00

1.00

4

нижн.гр.

5

верхн.гр.

6

M[c]

ФМ

напр

7

коеф.в ФМ

60

70

120

130

380

Макс

8

M[a]

9

Детер.лів.частина

M[b]

10

Трудові

1

1

1

1

4.00

16.00

11

Сировина

6

5

4

3

18.00

110.00

12

фінанси

4

6

10

13

33.00

100.00

13

V=0.20

В К15 введено =НОРМСТОБР(К14)

14

σ[a]

σ[b]

=0.80

15

Трудові

0.2

0.2

0.2

0.2

3.2

t()=

0.84

16

Сировина

1.2

1

0.8

0.6

22

17

Фінанси

0.8

1.2

2

2.6

20

18

σ2[a]*x2

σ2[b]

v

t()*v

лів.част.

знак

M[b]

19

Трудові

0.04

0.04

0.04

0.04

0.16

10.24

3.22

2.71

6.71

16

20

Сировина

1.44

1

0.64

0.36

3.44

484

22.08

18.58

36.58

110

21

Фінанси

0.64

1.44

4

6.76

12.84

400

20.32

17.10

50.10

100

22

ή

23

Трудові

0.40

24

Сировина

0.51

25

Фінанси

0.34

Рис.1

A

B

C

D

E

1

2

Ім’я

Прод.1

Прод.2

Прод.3

Прод.4

3

Значення

1

1

1

1

4

Нижн.гр.

5

Верхн.гр.

6

M

[cj]

7

Коеф.в ФМ

60

70

120

130

8

M

[a]

9

10

Трудові

1

1

1

1

11

Сировина

6

5

4

3

12

Фінанси

4

6

10

13

13

V=

0.2

14

σ

[a]

15

Трудові

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

16

Сировина

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

17

Фінанси

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

=(B10:E12)*D13

18

σ2[a

]*x2

19

Трудові

=(B15^2)*(B$3^2)

=(C15^2)*(B$3^2)

=(D15^2)*(B$3^2)

=(E15^2)*(B$3^2)

20

Сировина

=(B16^2)*(B$3^2)

=(C16^2)*(B$3^2)

=(D16^2)*(B$3^2)

=(E16^2)*(B$3^2)

21

Фінанси

=(B17^2)*(B$3^2)

=(C17^2)*(B$3^2)

=(D17^2)*(B$3^2)

=(E17^2)*(B$3^2)

F

G

H

I

J

K

L

1

2

3

4

5

6

ФМ

Напр

7

=СУММПРОИЗВ(B$3:E$3;B7:E7)

Макс

8

9

Детерм.лыв.частина

M[b]

10

=СУММПРОИЗВ(B$3:E$3;B10:E10)

16

11

=СУММПРОИЗВ(B$3:E$3;B11:E11)

110

12

=СУММПРОИЗВ(B$3:E$3;B12:E12)

100

13

14

σ[b]

=

0.8

15

=(G10:G12)*D13

t()

=НОРМСТОБР(J14)

16

=(G10:G12)*D13

17

=(G10:G12)*D13

18

σ2[b]

W

t()*W

Ліва частина

знак

M[b]

19

=СУММ(В19:Е19)

=G15^2

=КОРЕНЬ(СУММ(F19;G19))

=H19*J$15

=F10+I19

16

20

=СУММ(В20:Е20)

=G16^2

=КОРЕНЬ(СУММ(F20;G20))

=H20*J$15

=F11+I20

110

21

=СУММ(В121:Е21)

=G17^2

=КОРЕНЬ(СУММ(F21;G21))

=H21*J$15

=F12+I21

100

Рис.2.

1.Ввести:

  • M[cj] в В7:Е7,

  • M[aij] в В10:Е12,

  • M[bi] в Н10:Н12,

скопіювавши їх з детермінованої задачі.

2.Задатись значенням v, яке введене в D13.

3.Визначити значення σ[aij]:

  • Курсор в В15.

  • Виділити В15:Е17.

  • Ввести =(В10:Е12)*D13.

  • <Shift>+<Ctrl>+<Enter>.

На екрані: в В15:Е17 введені значення σ[aij].

4.Визначити значення σ[bi]:

  • Курсор в Н15.

  • Виділити Н15:Н17.

  • Ввести =(H10:H12)*D13.

  • <Shift>+<Ctrl>+<Enter>.

На екрані: в Н15:Н17 введені значення σ[bi].

Очевидно, що якщо конкретні значення σ[aij], σ[bi] відомі, то їх можна вводити безпосередньо. Після того, як вихідні дані зформовані, потрібно перейти до формування детермінованого еквівалента.

Алгоритм 2. Формування детермінованого еквівалента.

1.Ввести функцію мети:

  • Курсор в F7.

  • Мастер функций, Математические, СУММПРОИЗВ.

  • Ввести аргументи функції СУММПРОИЗВ: В3:Е3; В7:Е7.

2.Ввести , для цього зкопіювати F7 в F10:F12.

3.Ввести значення σ2[aij]xi2:

  • Курсор в В19.

  • Ввести В19=(B15^2)*(B$3^2).

  • Зкопіювати В19 в В19:Е21.

4.Ввести значення σ2[bi]:

  • Курсор в Н19.

  • Ввести Н19=Н15^2.

  • Зкопіювати Н19 в Н20:Н21.

5.Ввести :

В F19 ввести СУММ(В19:Е19).

  • Зкопіювати F19 в F20:F21.

  • Курсор в І19.

  • Ввести =КОРЕНЬ(СУММ(F19;H19)).

  • Зкопіювати І19 в І20:І21.

6.Прийняти значення і.

Приймаємо для всіх обмежень однакові =0.8 та вводимо їх в К14.

При цьому в К15 ввести НОРМСТОБР(К14).

7.Обчислити стохастичну складову t()Wi:

  • Курсор в J19.

  • Ввести J19=I19*K15.

  • Зкопіювати J19 в J20:J21.

8.В І19:J21 призначити точність представлення результатів 2 знаки після коми.

9.Ввести ліві частини обмежень:

  • Курсор в К19.

  • Ввести K19=F10+J19.

  • Зкопіювати К19 в К20:К21.

10.Для зручності роботи зкопіювати Н19:Н21 в М18:М21.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]