MathematicalOptimization
.pdf5 1 9 12
2 3 4 1
3 2 5 1
= −1 0 0 0
|
0 −1 0 |
0 |
|
|
|
|
|
0 0 −1 0
0 0 0 −1
1500
1000
800
= 0
0
0
|
0 |
|
Результат:
∙1 = 261, 29
∙2 = 0
∙3 = 0
∙4 = 16, 13
∙1 = 3297
∙2 = 9651
3297 – 329,7 = 2967,3 (10%)
Для второго критерия:
5 1 9 12
2 3 4 1
|
3 2 5 |
1 |
|
|
|
|
|
= |
−1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
−1 |
|
|
|
|
0 |
0 |
0 |
|
0 0 −1 0
0 |
0 0 −1 |
−5 −1 −9 −12 |
|
|
|
11
1500
1000
800
= |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0
|
0 |
|
|
−2967, 3
Результат:
∙1 = 112, 7
∙2 = 200, 3
∙3 = 0
∙4 = 61, 4
∙1 = 2967
∙2 = 11519
1.6Fgoalattain
fgoalattain решает задачу достижения цели, которая является одной из формулировок задач для векторной оптимизации.
x= fgoalattain(fun, 0, goal, weight):
∙fun – целевая функция,
∙0 – начальные значения,
∙goal – целевые значения,
∙weight – веса.
Решение задачи представлено как программа в среде Matlab, с использованием функций fminicon и fgoalattain.
Целевые значения:
Goal =(15855000 10240038400036 68000000 38080000 4900000)
12
Веса:
weight=abs(goal) – для того, чтобы приближение к критериям было одинаково
Листинг 6: Содержание файла fgoalattain.m
1 x0 =[1;
21 ;
31 ;
41 ] ;
5 |
|
|
|
|
6 |
A=[5 |
1 |
9 |
12; |
7 |
2 |
3 |
4 |
1 ; |
8 |
3 |
2 |
5 |
1 ; |
9−1 0 0 0 ;
100 −1 0 0 ;
110 0 −1 0 ;
12 0 0 0 −1];
13 |
|
14 |
b = [1500 , 1000 , 800 , 0 , 0 , 0 , 0 ] ; |
15
16%Первый критерий
17c l c
18c l e a r
19
20% Исходные данные
21x0 =[0;
220 ;
230 ;
240 ] ;
25 |
|
|
|
|
26 |
A=[5 |
1 |
9 |
12; |
27 |
2 |
3 |
4 |
1 ; |
28 |
3 |
2 |
5 |
1 ; |
29−1 0 0 0 ;
300 −1 0 0 ;
310 0 −1 0 ;
320 0 0 −1];
33
13
34 |
b = |
[1500 , 1000 , 800 , |
0 , 0 , 0 , 0 ] ; |
|
|
|
35 |
|
|
|
|
|
|
36 |
[ x1 , |
f1 ] |
= fmincon ( i n l i n e ( ’−12*x (1)−5*x (2) −15*x (3) −10*x (4) ’ ) , |
x0 , |
A, |
|
|
|
b) |
|
|
|
|
37 |
|
|
|
|
|
|
38 |
[ x2 , |
f2 ] |
= fmincon ( i n l i n e ( ’−32*x (1) −15*x (2) −12*x (3) −80*x (4) ’ ) , |
x0 , A |
||
|
, |
b) |
|
|
|
|
39 |
|
|
|
|
|
|
40 |
goal = [ 0 0 ] ; |
|
|
|
||
41 |
goal (1) = f1 ; |
|
|
|
||
42 |
goal (2) = f2 ; |
|
|
|
||
43 |
|
|
|
|
|
|
44 |
weight = |
abs ( goal ) ; |
|
|
|
|
45 |
|
|
|
|
|
|
46 |
[ x , |
f3 , |
a t t a i n f a c t o r ] |
= f g o a l a t t a i n (@myfun , x0 , goal , weight , |
A, |
b) |
|
|
|
|
|
|
|
Результат:
∙1 = 207, 81
∙2 = 72, 08
∙3 = 0
∙4 = 32, 4
∙1 = 3178
∙2 = 10324
∙. = 0, 1741
1.7Задача стохастического программирования
Требуется найти такие 1, 2, 3, 4 для которых выполняться следующие ограничения:
∙ 5 1 |
+ 2 + 9 3 + 12 4 |
≤ 1500 |
∙ 2 1 |
+ 3 2 + 4 3 + 1 4 |
≤ 1000 |
∙ 3 1 |
+ 2 2 + 5 3 + 1 4 |
≤ 800 |
|
|
|
Перейдем от последнего ограничения к вероятностному по схеме: ( |
∑ |
|
=1 − ≤ 0) |
≥ |
14
И будем менять в диапазоне 0.1 ≤ ≤ 0.9, и возьмём коэффициенты за случайные
величины.
(0, 6 1 + 0, 8 2 + 1, 0 3 + 1, 2 4 ≤ 100) ≥
|
3 |
Пользуясь формулой: |
∑ |
=1 − + ≤ 0 |
получим вероятностное ограничение для задачи, где a = 0,6, 0,8, 1,0, 1,2, b = 100 – взяты
√
из первоначального вида ограничения, = cov(a) .
По таблице функции распределения стандартного нормального закона находим коэффициенты (0, 5 ≤ ≤ 0, 9):
∙0,5 = 0
∙0,6 = 0, 253
∙0,7 = 0, 520
∙0,8 = 0, 841
∙0,9 = 1, 282
1 |
lb = [ 0 0 0 0 ] ; |
|
|
|
|
|||||
2 |
ub = [100 |
100 100 |
1 0 0 ] ; |
|
||||||
3 |
x0=[0 |
0 |
0 |
0 ] ; |
|
|
|
|
||
4 |
|
|
|
|
|
|
|
|
|
|
5 |
options |
= |
optimset ( ’ Algorithm ’ , ’ i n t e r i o r −point ’ ) ; |
|||||||
6 |
% для каждого критерия по |
отдельности : |
||||||||
7 |
[ x , |
f v a l ] |
= |
fmincon ( i n l i n e ( ’−12*x (1)−5*x (2) −15*x (3) −10*x (4) ’ ) , x0 , |
||||||
|
|
[ ] , |
[ ] , |
[ ] , |
[ ] , |
lb , ub , |
@constrStoh , options ) |
|||
|
|
|
|
|
||||||
|
|
|
|
|
||||||
1 |
function |
|
[ sigma ] |
= probabilityConstr ( x ) |
||||||
2 |
|
covH=x * [ 0 . 6 ; |
0 . 8 ; 1 . 0 ; |
1 . 2 ] * transpose ( x ) ; |
||||||
3 |
|
sigma |
= s q r t ( covH ) ; |
|
||||||
4 |
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
1 |
function |
|
[ c , ceq ] |
|
= constrStoh ( x ) |
|||||
2 |
ceq |
= |
0 ; |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
4 |
sigma |
= probabilityConstr ( x ) ; |
||||||||
5 |
K=1.282; |
|
|
|
|
|
|
|
||
6 |
c = |
[ |
|
|
|
|
|
|
|
|
7 |
|
% введенное |
вероятностное ограничение |
|||||||
|
|
|
|
|
|
|
|
|
|
|
15
8 |
0.6*x (1) |
+ 0.8 |
*x (2) |
+ 1 * x (3) |
+ 1.2 |
*x (4) |
− 100 + K*sigma ; |
||||||
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
−0.2*x (1) |
− |
0.3 |
*x (2) |
− |
0.4*x (3) |
− |
0.5 |
*x (4) |
+ |
35; |
||
11 |
−0.6*x (1) |
− |
0. |
4 |
*x (2) |
− |
0.3*x (3) |
− |
0. |
2 |
*x (4) |
+ |
42; |
12% условия из "бывших" критериев
13−12*x (1) − 5*x (2) − 15*x (3) − 10*x (4) ] ;
14end
|
|
|
K |
|
|
|
0 |
0,253 |
0,52 |
0,841 |
1,282 |
|
|
|
|
|
|
1 |
100 |
29,2780 |
27,7214 |
30,0887 |
25,4234 |
|
|
|
|
|
|
2 |
0 |
28,7760 |
25,8883 |
26,9406 |
22,6038 |
|
|
|
|
|
|
3 |
40 |
28,4840 |
24,8369 |
25,4863 |
21,2327 |
4 |
0 |
15,4300 |
12,8728 |
0,5164 |
1,1430 |
|
1800 |
1076,8 |
963,4 |
883,2 |
748 |
|
|
|
|
|
|
Таблица 2: Результаты
Видно, что задача чувствительна к выбранному ограничению, т.к. для различных K получились разные результаты. Так же следует отметить, что значения функций соответствуют нормальному закону распределения, что соответствует теории.
16
2Решение задачи оценки показателей эффективности стохастической сети с использованием методики GERT. Выбор и использование математического пакета Matlab для решения сформулированной задачи.
2.1Постановка задачи
Дано:
1. Граф GERT-сети (рисунок 1).
|
2 |
0,5 |
|
|
0,1 |
1 |
5 |
0,5 |
0,2 |
|
4 |
0,6 |
|
0,3 |
0,4 |
3 |
6 |
0,4
Рис. 1: Граф GERT-сети.
2.Каждой дуге-работе ( , ) поставлены в соответствие следующие данные:
(a)Закон распределения времени выполнения работы. Будем считать его нормальным.
(b)Параметры закона распределения (математическое ожидание и дисперсия
).
(c)Вероятность выполнения работы, показанная на графе.
Найти:
1. Вероятность выхода в завершающий узел графа (для всех вариантов узел 6).
17
Начальная вершина |
Конечная вершина |
|
|
|
|
|
|
1 |
2 |
12 |
9 |
|
|
|
|
1 |
4 |
28 |
16 |
|
|
|
|
2 |
5 |
14 |
9 |
|
|
|
|
3 |
1 |
11 |
4 |
|
|
|
|
3 |
3 |
33 |
16 |
|
|
|
|
4 |
2 |
11 |
4 |
|
|
|
|
4 |
3 |
33 |
25 |
|
|
|
|
4 |
5 |
45 |
25 |
|
|
|
|
4 |
6 |
23 |
16 |
|
|
|
|
5 |
6 |
43 |
25 |
|
|
|
|
Таблица 3: Параметры закона распределения для дуг графа
2.Математическое ожидание.
3.Дисперсию времени выхода процесса в завершающий узел графа.
Перечислить все петли всех порядков, обнаруженные на графе, выписать уравнение Мейсона, получить решение для ( ) и найти требуемые параметры. Примерно так, как это сделано в примере на стр. 403 – 409 книги Филипса и Гарсиа «Методы анализа сетей»
2.2Ход работы
Решение:
Замкнём граф дугой из вершины 6 в вершину 1 (рисунок 2).
Петли первого порядка:
∙ 12 25 56 1
∙ 14 42 25 56 1
∙ 14 43 31
∙ 14 45 56 1
∙ 14 46 1
∙ 33
Петли второго порядка:
18
|
|
2 |
0,5 |
|
|
|
|
0,1 |
1 |
|
5 |
0,5 |
|
0,2 |
|
|
4 |
0,6 |
|
|
0,3 |
1 |
0,4 |
|
|
|
|
|
|
3 |
|
6 |
0,4
Рис. 2: Замкнутый граф GERT-сети.
∙ 33 и 12 25 56 1
∙ 33 и 14 42 25 56 1
∙ 33 и 14 45 56 1
∙ 33 и 14 46 1
Петель третьего порядка нет.
19
Выпишем уравнение Мейсона:
1
= 1 − 12 25 56
1
− 14 42 25 56 − 14 43 31
1
− 14 45 56
1
− 14 46 − 33
1
+ 33 12 25 56
1
+ 33 14 42 25 56
1
+ 33 14 45 56
1
+ 33 14 46 = 0
Отсюда выведем ( ):
1 − 14 43 31 − 33 = ( 12 25 56 + 14 42 25 56 +
14 45 56 + 14 46 − 33 12 25 56 −
1
33 14 42 25 56 − 33 14 45 56 − 33 14 46)
( ) = ( 12 25 56 + 14 42 25 56 + 14 45 56 + 14 46 −
33 12 25 56 − 33 14 42 25 56 − 33 14 45 56 − 33 14 46)/
(1 − 14 43 31 − 33)
Далее рассчитаем W-функции дуг.
Далее вычислим математическое ожидание и дисперсию: ( ) = 1 при = 0
Поскольку ( ) = ( ), то = (0), откуда следует, что ( ) = ( ) = ( )
(0)
Вычисляя первую и вторую производные по функции ( ), и полагая = 0, находим
математическое ожидание: 1 = ∂ ( ) | = 0
∂
и дисперсию:
2 = 2 − [ 1 ]2.
20
