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

MathematicalOptimization

.pdf
Скачиваний:
307
Добавлен:
29.04.2015
Размер:
374.89 Кб
Скачать

Начальная вершина

 

Конечная вершина

Вес ребра ( )

 

 

W-функция

 

 

 

 

 

 

 

 

 

1

 

2

0,5

12

9

0, 5 * (12 +

29 2)

1

 

4

0,5

28

16

0, 5 * (28 +

162

2)

2

 

5

1

14

9

(14 + 9 2)

 

 

 

 

 

 

 

2

 

 

3

 

1

0,6

11

4

0, 6 * (11 +

24 2)

3

 

3

0,4

33

16

0, 4 * (33 +

162

2)

4

 

2

0,1

11

4

0, 1 * (11 +

24 2)

4

 

3

0,3

33

25

0, 3 * (33 +

252

2)

4

 

5

0,2

45

25

0, 2 * (45 +

252

2)

4

 

6

0,4

23

16

0, 4 * (23 +

162

2)

5

 

6

1

43

25

(43 + 25 2)

 

 

 

 

 

 

2

 

 

 

Таблица 4: Производящие функции моментов

 

 

 

Вероятность выхода в завершающий узел графа:

= (0).

Для моделирования работы был написан скрипт, представленный в листинге 7.

 

 

 

 

 

Листинг 7: Код для вычисления заданных выражений

1

%Исходные

данные :

 

 

 

 

2

%М − математиче ское

ожидание

 

3

%D − дисперсия

 

 

 

 

 

4

%P − вероятность

 

 

 

 

 

5

M12

=

12;

D12

= 9

;

P12

= 0 . 5 ;

6

M14

=

28;

D14

=

16;

P14

= 0 . 5 ;

7

M25

=

14;

D25

= 9

;

P25

= 1

;

8

M31

=

11;

D31

= 4

;

P31

= 0 . 6 ;

9

M33

=

33;

D33

=

16;

P33

= 0 . 4 ;

10

M42

=

11;

D42

= 4

;

P42

= 0 . 1 ;

11

M43

=

33;

D43

=

25;

P43

= 0 . 3 ;

12

M45

=

45;

D45

=

25;

P45

= 0 . 2 ;

13

M46

=

23;

D46

=

16;

P46

= 0 . 4 ;

14

M56

=

43;

D56

=

25;

P56

= 1

;

15

16syms s ;

17%W − функции

18 W12 = P12 * exp (M12 * s + D12/2 * s ^2) ;

21

19

W14

= P14

*

exp (M14 *

s + D14/2

*

s ^2) ;

20

W25

= P25

*

exp (M25 *

s + D25/2

*

s ^2) ;

21

W31

= P31

*

exp (M31 *

s + D31/2

*

s ^2) ;

22

W33

= P33

*

exp (M33 *

s + D33/2

*

s ^2) ;

23

W42

= P42

*

exp (M42 *

s + D42/2

*

s ^2) ;

24

W43

= P43

*

exp (M43

*

s + D43/2

*

s ^2) ;

25

W45

= P45

*

exp (M45

*

s + D45/2

*

s ^2) ;

26

W46

= P46

*

exp (M46

*

s + D46/2

*

s ^2) ;

27

W56

= P56

*

exp (M56

*

s + D56/2

*

s ^2) ;

28

29 WE = (W12*W25*W56 + W14*W42*W25*W56 + W14*W45*W56 + W14*W46 − W33*

W12*W25*W56 − W33*W14*W42*W25*W56 − W33*W14*W45*W56 − W33*W14*W46 ) /(1 − W14*W43*W31 − W33)

30

 

 

 

 

 

31

We =

s i m p l i f y (WE)

 

32

We0 =

subs (We,

’ s ’ , 0)

% We(0)

33

 

 

 

 

 

34

% Нахождение мат . ожидания и дисперсии

35

Me = We / We0;

 

 

36

 

 

 

 

 

37

% Нахождение производной 1−го порядка при s = 0

38

m1 =

d i f f (Me,

’ s ’ ) ;

 

39

% Замена символа s на 0 в выражении m1

40

m1 =

subs (m1,

’ s ’ , 0)

 

41

 

 

 

 

 

42

% Нахождение производной 2−го порядка при s = 0

43

m2 =

d i f f (Me,

’ s ’ , 2) ;

 

44

% Замена символа s на 0 в выражении m2

45

m2=subs (m2,

’ s ’ , 0)

 

46

 

 

 

 

 

47

% Нахождение

дисперсии

времени выхода проце с са в завершающий уз ел гр

 

афа

 

 

 

 

 

 

 

48

D = m2 − (m1)^2

 

22

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Результаты работы представлены в листинге 8.

Листинг 8: Результат работы скрипта

>> main

WE =

 

 

 

 

 

 

 

 

−((exp (8* s^2 + 23* s ) *exp (8* s^2 +

28* s ) ) /5 −

(2* exp (8* s^2 +

23* s ) *exp

(8* s^2 + 28* s ) *exp (8* s^2 + 33* s ) ) /25

+ ( exp ((9* s ^2) /2 +

12* s ) *exp

((9* s ^2) /2 + 14* s ) *exp ((25* s ^2) /2 +

43* s ) ) /2 + ( exp (8* s^2 + 28* s )

*exp ((25* s ^2) /2 + 43* s ) *exp ((25* s ^2) /2 +

45* s ) ) /10 + ( exp (2* s^2 +

11* s ) *exp ((9* s ^2) /2 + 14* s ) *exp (8* s^2 +

28* s ) *exp ((25* s ^2) /2 +

43* s ) ) /20 − ( exp ((9* s ^2) /2 + 12* s ) *exp ((9* s ^2) /2 + 14* s ) *exp (8* s

^2 +

33* s ) *exp ((25* s ^2) /2

+

43

* s ) ) /5 − ( exp (8* s^2 + 28* s ) *exp (8* s

^2 +

33* s ) *exp ((25* s ^2) /2

+

43

* s ) *exp ((25* s ^2) /2 + 45* s ) ) /25 − (

exp (2* s^2 + 11* s ) *exp ((9* s ^2) /2 + 14

* s ) *exp (8* s^2 + 28* s ) *exp (8* s

^2 +

33* s ) *exp ((25* s ^2) /2

+

43

* s ) ) /50) /((2* exp (8* s^2 +

33* s ) ) /5 +

(9* exp (2* s^2 + 11* s ) *exp (8* s^2 + 28

* s ) *exp ((25* s ^2) /2

+ 33* s ) )

/100 − 1)

 

 

 

 

 

 

 

We =

 

 

 

 

−(exp (16

* s^2 + 51* s ) *(50* exp ((11

* s ^2) /2 + 18* s ) − 8*exp (8* s^2 + 33* s

) + 5

*exp (11* s^2 + 45* s ) − 20

*exp ((27* s ^2) /2 + 51* s )

+ 10*exp (17

*

s^2 + 65* s ) − 2*exp (19* s^2 +

78* s ) − 4*exp (25* s^2 +

98* s ) + 20) )

 

/(40* exp (8* s^2 + 33* s ) + 9*exp ((45* s ^2) /2 + 72* s ) −

100)

 

We0 =

1

m1 =

88.4706

23

22

23 m2 =

24

25 1.0299 e+04

26

27

28 D =

29

30 2.4723 e+03

31

32>>

2.3Результат

По итогам проведённых расчётов были получены следующие результаты:

1.Вероятность выхода в завершающий узел графа равна 100% ( = = 1).

2.Математическое ожидание 88,46.

3.Дисперсия времени выхода процесса в завершающий узел графа 2472,3.

24

3Поиск оптимальной стратегии принятия решений с использованием марковских моделей.

3.1Постановка задачи

Пусть имеется машина (станок), которая обслуживается периодически один раз в час. В каждый момент она может находиться в одном из двух состояний: рабочем (состояние 1) и нерабочем (состояние 2).

Если машина на некотором шаге проработала непрерывно 1 час, то доход равен 3 рублям. При этом вероятность остаться на следующем шаге в состоянии 1 равна 0,7, а вероятность перейти в состояние 2 равна 0,3. Если машина отказала на некотором шаге, то её можно отремонтировать двумя способами. Первый является ускоренным, требует затрат в 2 рубля (доход равен -2 рубля) и обеспечивает переход в состояние 1 с вероятностью в 0,6. Второй, обычный способ требует затрат в 1 рубль и обеспечивает переход в состояние 1 с вероятностью 0,4.

Найти оптимальную стратегию для = ∞ методом итераций по стратегиям, и перечислить все стационарные стратегии; построить марковскую модель принятия решений.

3.2Марковская модель принятия решений

Матрицы переходных вероятностей ( 1 и 2) и матрицы доходов ( 1 и 2) имеют следующий вид:

1

=

( 0, 6

0, 4 )

2

=

( 0, 4

0, 6 )

 

 

0, 7

0, 3

 

 

 

0, 7

0, 3

 

1 = (

2

0 )

2

=

(

 

1 0 )

 

 

 

3

0

 

 

 

 

3

0

 

 

 

 

 

 

 

 

 

Модель представлена на рисунке 3.

После работы, машина можем:

Остаться в исправном состоянии 1 = 1; 1

Перейти в неисправное состояние 2 = 1; 2

25

0,7

1

0,6

0,4

1

0,3

2

0,4

 

0,6

2

 

1

2

Рис. 3: 1 и 2 состояния системы; 1 и 2 принимаемые решения; красные рёбра - траты, чёрные - вероятность перехода

Таким образом, возможны следующие стационарные стратегии:

1 = ( 1, 1)

2 = ( 1, 2)

3 = ( 2, 1)

4 = ( 2, 2)

3.3Метод итерации по стратегиям

Этап оценивания параметров. Выбираем произвольную стратегию = ( 1, 2, . . . , ) . Используя соответствующие стратегии , матрицу переходных вероятностей ( ) = ( ( ))

и матрицу доходов ( ) = ( ( )) и полагая ( ) = 0, решаем систему линейных

алгебраических уравнений + ( ) − ( ) ( ) = ( ), = 1, , относительно

=1

, (1), . . . , ( − 1).

Этап улучшения стратегии. Для каждого состояния , находим допустимое решение

 

 

* , на котором достигается max( )( ( ) +

( ) ( ))

 

=1

Эти оптимальные решения образуют новую стратегию = ( *1, *2, . . . * ) . Если = , то стратегия и является оптимальной. В противном случае нужно обозначить стратегию t через и вернуться к первому этапу.

26

Воспользовавшись матрицами 1, 2, 1, 2 и их независимостью от номера этапа, вычислим ожидаемые доходы, при различных вариантах допустимых решений:

1( 1) = 0, 7 * 3 + 0, 3 * 0 = 2, 1

2( 1) = 0, 6 * (−2) + 0, 4 * 0 = −1, 2

1( 2) = 0, 7 * 3 + 0, 3 * 0 = 2, 1

2( 2) = 0, 4 * (−1) + 0, 6 * 0 = −0, 4

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

 

 

+ (1 − 0, 7) (1)

=

 

2, 1

 

 

 

 

 

 

0, 6

=

1, 2

 

 

 

 

 

 

 

 

 

 

 

которая имеет единственное решение: = 0, 78, (1) = 3, 3.

 

 

Результаты соответствующих вычислений приведены в табл. 5.

 

 

 

 

 

 

 

 

 

( ) = ( ) + 1( ) * (1)

 

max

*

i = 1

 

i = 2

 

 

 

 

 

1

2,1+0,7*3,3=4,41

 

2,1+0,7*3,3=4,41

4,41

2

 

 

 

 

 

 

2

-1,2+0,6*3,3=0,78

 

-0,4+0,4*3,3=0,92

0,78

2

 

 

 

 

 

 

 

 

 

 

 

Таблица 5: Решение с оценочными параметрами

Новая стратегия = ( 2, 2) отличается от стратегии , поэтому нужно на этап оценивания параметров, полагая = ( 2, 1) .

Новой стратегии t соответствует следующая система линейных алгебраических уравнений:

 

+ (1 − 0, 7) (1)

=

 

2, 1

 

 

0, 4

=

0, 4

 

 

 

 

 

которая имеет единственное решение: = 0, 85, (1) = 3, 125.

Результаты соответствующих вычислений приведены в табл. 6.

Новая стратегия совпала с предыдущей, таким образом оптимальная стратегия определена: оптимальное использовать более дешевый ремонт с меньшей гарантией успешного завершения.

27

 

( ) = ( ) + 1( ) * (1)

max

*

i = 1

i = 2

1

2,1+0,7*3,125=4,2875

2,1+0,7*3,125=4,2875

4,2875

2

 

 

 

 

 

2

-1,2+0,6*3,125=0,675

-0,4+0,4*3,125=0,85

0,85

2

Таблица 6: Проверочное решение

3.4Метод линейного программирования

Все параметры посчитаны, мы можем сформулировать задачу в виде задачи линейного

программирования, для проверки ранее полученных результатов.

 

 

 

 

 

2, 1 11

+ 2, 1 12 − 1, 2 21 − 0, 4 22− >

max

 

 

 

 

 

0, 3 11 + 0, 3 12 − 0, 6 21 − 0, 4 22 =

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, 3 11

 

0.3 12 + 0, 6 21 + 0, 4 22 =

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

0

 

 

 

 

 

 

 

 

 

= 1,

 

 

 

 

 

 

 

 

=1 =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∑∑

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код скрипта представлен в листинге 9.

 

 

 

 

 

 

Листинг 9: Код для вычисления задачи линейного программирования

1

x0 = [ 0 ; 0 ; 0 ; 0 ]

 

 

 

 

 

 

 

 

2

A=[−1 0 0

0 ; 0 −1

0

0 ; 0

0

−1 0 ; 0 0 0

−1]

 

 

 

3

b=[0; 0 ; 0 ; 0 ]

 

 

 

 

 

 

 

 

4

Aeq=[0.3

0.3 −0.6

−0.4;

 

 

 

 

 

 

5

 

−0.3

−0.3 0.6

 

0 . 4 ;

 

 

 

 

 

 

6

 

1 1

1

1 ] ;

 

 

 

 

 

 

 

 

7

beq = [ 0 ; 0 ; 1 ] ;

 

 

 

 

 

 

 

 

8

%Максимизирование функции

 

 

 

 

 

9

[ x ,

f v a l ]

=

fmincon ( i n l i n e ( ’ −(2.1*x (1) +2.1*x (2) −1.2*x (3) −0.4*x (4) ) ’ )

 

,

x0 , A,

b , Aeq ,

beq )

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

11

q11

= x (1) /( x (1)+x (2) )

 

 

 

 

 

 

12

q21

= x (2) /( x (1)+x (2) )

 

 

 

 

 

 

13

q12

= x (3) /( x (3)+x (4) )

 

 

 

 

 

 

14

q22

= x (4) /( x (3)+x (4) )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28

Результат выполнения в листинге 10.

Листинг 10: Результат работы скрипта линейного программирования

1 >> l i n e a r

2

3 x0 =

4

50

60

70

80

9

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

11

A =

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

13

−1

0

0

0

 

 

 

 

 

 

14

0

−1

0

0

 

 

 

 

 

 

15

0

0

−1

0

 

 

 

 

 

 

16

0

0

0

−1

 

 

 

 

 

 

17

 

 

 

 

 

 

 

 

 

 

18

 

 

 

 

 

 

 

 

 

 

19

b =

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

21

0

 

 

 

 

 

 

 

 

 

22

0

 

 

 

 

 

 

 

 

 

23

0

 

 

 

 

 

 

 

 

 

24

0

 

 

 

 

 

 

 

 

 

25

 

 

 

 

 

 

 

 

 

 

26

Local minimum

found

that

s a t i s f i e s

the c o n s t r a i n t s .

 

 

27

 

 

 

 

 

 

 

 

 

 

28

Optimization

completed because

the

o b j e c t i v e

function i s

non−

 

decreasing in

 

 

 

 

 

 

 

29

f e a s i b l e

d i r e c t i o n s ,

to

within

the

d e f a u l t value of

the function

 

tolerance ,

 

 

 

 

 

 

 

 

30

and c o n s t r a i n t s are

s a t i s f i e d

to within the

d e f a u l t

value

of the

 

c o n s t r a i n t t o l e r a n c e .

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

32

<stopping c r i t e r i a d e t a i l s >

 

 

 

 

 

29

33

 

 

 

 

34

Active

i n e q u a l i t i e s

( to within

options . TolCon = 1e −06) :

35

lower

upper

i n e q l i n

ineqnonlin

36

 

 

3

 

37

 

 

 

 

38

x =

 

 

 

39

 

 

 

 

40

0.2857

 

 

41

0.2857

 

 

42

 

0

 

 

43

0.4286

 

 

44

 

 

 

 

45

 

 

 

 

46

f v a l =

 

 

 

47

 

 

 

 

48

−1.0286

 

 

49

 

 

 

 

50

 

 

 

 

51

q11 =

 

 

 

52

 

 

 

 

53

0.5000

 

 

54

 

 

 

 

55

 

 

 

 

56

q21 =

 

 

 

57

 

 

 

 

58

0.5000

 

 

59

 

 

 

 

60

 

 

 

 

61

q12 =

 

 

 

62

 

 

 

 

63

0

 

 

 

64

 

 

 

 

65

 

 

 

 

66

q22 =

 

 

 

67

 

 

 

 

68

1

 

 

 

69

 

 

 

 

 

 

 

 

 

30