
Архив WinRAR_1 / trahtengerts5
.pdf500 |
Часть 3.Примеры применения компьютерных систем … |
|
|
|
|
|
Q2(G2221) = 1+6+5+6 = 18, |
Q2(G2221) = 1, |
D(G2221) = 0.55.
Рассмотрим теперь G2222, фиксируются x12=1, x22=1, x32=1, x42=1.
F(G2222) =0.82,
Q1(G2222) =1,
Q2(G2221) =1,
Так как D(G2221)> D(G2222), то оптимальное решение Xopt – матрица [xij], в которой x12=1, x22=1, x32=1, x42=1, а остальные элементы
равны нулю.
Взаключение также следует отметить еще и то, что рассматриваемые в этой главе модели и алгоритмы позволяют решать и многокритериальные задачи. Этот вывод очевидным образом следует из анализа операции Беллмана – Заде. Здесь критерии оптимальности и ограничения задачи являются симметричными – одинаковыми с точки зрения выбора (определения) оптимального решения.
Вряде случаев, когда задача (12.11)-(12.15) имеет структурные ограничения 4-го типа, и(или) критерии оптимальности и ресурсные ограничения задачи носят сложный характер и(или) выбор схемы компромисса не удается свести к принципу Беллмана-Заде для получения (генерации) различных вариантов решения задачи и выбора оптимального могут быть применены алгоритмы случайного поиска решений и (эволюционные) генетические алгоритмы. Рассмотрим построение и работу этих алгоритмов.
С. Алгоритм случайного поиска » для задачи нечеткой оптимизации выбора вариантов проектов
Алгоритм случайного поиска для решения задачи (12.11) - (12.15), при структурных ограничениях 1-го - 4-го видов (см. выше) состоит в следующем:
1. С помощью датчика случайных чисел, имеющих равномерное распределение в интервале 0-1, генерируются последовательности случайных чисел (матрица) – [wij]:
Глава12. Компьютерная поддержка выбора проектных решений 501
|
w11 |
w12 |
... w1m |
w |
w21 |
w22 |
... w2m . |
ij ... ... ... ... |
|||
|
wn1 |
wn2 |
... wnm |
Матрица [wij] той же размерности, что и матрица [xij].
2. В соответствии со смыслом ограничения (12.13) и (12.4) случайные числа wij в столбцах матрицы [wij] упорядочиваются в порядке возрастания. При этом перемещение индексов (i,j) случайных чисел при упорядочивании столбцов запоминаются (в частном случае для задачи (12.11)-(12.15) достаточно найти минимальные элементы в столбцах матрицы). И тогда первоначальные номера (индексы) минимальных чисел wij определяют координаты xij=1 в матрице [xij].
Например, пусть имеется матрица [wij].
|
|
0.25 |
0.30 |
0.04 |
w |
|
0.20 |
0.70 |
0.01. |
ij |
|
0.03 |
0.40 |
0.90 |
|
|
0.90 |
0.20 |
0.40 |
Эта же матрица после упорядочивания имеет вид:
w |
|
0.03(31) |
0.20(42) |
0.01(23) |
|
(ij) 0.20 |
(21) |
0.30(12) |
0.04(13) . |
||
ij |
0.25(11) |
0.40(32) |
0.40(43) |
||
|
|
||||
|
|
0.90 |
(41) |
0.7022) |
0.90(33) |
Соответственно случайное решение задачи и матрица [xij] имеет
вид:
|
|
0 |
0 |
0 |
x |
|
0 |
0 |
1. |
ij |
|
1 |
0 |
0 |
|
|
0 |
1 |
0 |
Если решается задача (12.11)-(12.15) со структурными ограничениями вида 1) – 3), то в строке матрицы [xij] единица может отсутствовать. Если же решается задача со структурными ограничениями вида 4) и в столбце матрицы [xij] должно содержаться не менее одной
502 |
Часть 3.Примеры применения компьютерных систем … |
|
|
единицы, то в каждом столбце матрицы [xij] фиксируется столько xij=1, сколько их определяется этим ограничением. Места (индексы) переменных xij определяются соответствующими первыми элементами упорядоченной матрицы [wvk(ij)].
3. Для найденного на шаге 2 набора {xijl} = Xl вычисляется зна-
чение функции принадлежности F(Xl) по формуле (12.25), а по фор-
муле (12.26) Qh(Xl). В случае, если какая-либо Qh(Xl) = 0, производится возврат к пункту 1. И производится еще одна итерация. Если
все Qh(Xl) > 0 переход к следующему пункту.
4. Для полученного набора Xl с F(Xl)>0 и Qh(Xl)>0 [xij] производится операция Беллмана-Заде - (12.23) и получается соответствую-
щее D(Xl) .
5. Сравнивается D(Xl) и D(Xl1). Если D(Xl) > D(Xl1) запоминается альтернатива Xl, если нет – остается Xl1, запомненная на преды-
дущей итерации и переходят к следующему пункту.
6. Проверяется степень приближения полученного решения к максимизирующему, для чего вычисляется D:
D* ( D *(X11) D *(X1))/ D(X1) , |
(12.27) |
где D*(Xl1) – наилучшее значение функции принадлежности, полу-
ченное на предыдущих l-1 шагах; D(Xl) – значение функции принадлежности, полученное на k-ом шаге поиска, определяется на "удач-
ных" шагах, т.е. когда D(Xl) > D*(Xl1). Для неудачного шага D принимается равной нулю. Заранее фиксированная и установленная "по-
грешность" поиска D определяет признак конца счета, т.е. получение
D< D* на N* последовательных шагах. D* и N* определяются экспериментально.
Таким образом, если D< D* на N* последовательных шагах, процесс поиска оптимального решения заканчивается, в противном случае – переход к пункту 1.
Однако известно, что алгоритмы случайного поиска описанного выше типа обладают медленной сходимостью, хотя в принципе и позволяют решать любые задачи. Для преодоления этого недостатка можно поступить следующим образом. После получения очередного случайного решения со всеми номерами (i,j) матрицы [xij], где записаны единицы, производятся все их парные перестановки. Например, в последовательности индексов vl= (3,1),(4,2),(4,3), какого-то случай-
Глава12. Компьютерная поддержка выбора проектных решений 503
ного решения, где l-номер итерации, эти перестановки будут следующие:
yl(1)={(4,1), (3,2), (4,3)} └────┘
yl(2) ={(4,1), (3,2), (4,3)} └───────┘
yl(3)= {(4,1), (4,2), (4,3)} └────┘
В этих формулах показаны переставляемые элементы в строках. Последовательности, образованные с помощью перемещения элементов, назовем производными последовательностями. К каждой производной последовательности применяются пункты 3 - 6 основного алгоритма, и если условие (12.27) выполняется, то алгоритм завершает свою работу, если нет, то с помощью датчика случайных чисел генерируется новая исходная последовательность Xl и производная от нее, выполняя при этом для каждой из них пункты 3 - 6 алгоритма.
Рассмотрим численный пример, поясняющий работу рассмотренного алгоритма. Пусть заданы следующие матрицы [cij] и [aijh]
задачи (12.11) - (12.15).
|
|
5 |
|
6 |
|
7 |
|
|
|
|
|
3 |
|
2 |
3 |
|
|
c |
|
11 |
3 |
12 |
; |
|
a |
ij |
|
8 |
12 4 |
; |
|
||||
ij |
|
4 |
|
8 |
|
7 |
|
|
|
|
5 |
|
6 |
7 |
|
|
|
|
|
13 |
|
2 |
|
4 |
|
|
|
|
|
1 |
|
2 |
6 |
|
|
|
|
1 |
|
2 |
|
3 |
|
|
|
|
5 |
|
4 |
|
4 |
|
|
aij |
2 10 20 30 |
; |
aij |
3 8 9 10 |
; |
||||||||||||
|
|
6 |
|
7 |
|
8 |
|
|
|
|
3 |
|
3 |
|
7 |
|
|
|
|
9 |
|
5 |
|
4 |
|
|
|
|
7 |
|
10 |
11 |
|
||
|
|
|
|
A1 = 9, A2 = 20, |
A3 = 22. |
|
|
|
|
Содержательно каждая из этих матриц может означать следующее. Пусть, например, решается выбора оптимальных комплексов геофизических исследований скважин (ГИС) [12.6]. Тогда [сij] – комплексная экспертная оценка эффективности применения i-го комплекса ГИС на j-ом типе скважин; [aij1] – стоимость проведения i-го комплекса на j-ом типе скважин; [aij2] – затраты времени на проведе-
504 |
Часть 3.Примеры применения компьютерных систем … |
|
|
ние ГИС; [aij3] – фонд рабочего времени, которым обладает заданная группа оборудования, используемая для проведения ГИС. И пусть также знак =< в данном случае означает то, что левая часть ресурсных ограничений (12.12) может (допустимо) изменяться (не выпол-
няться) в пределах Ah+ Ah, где для упрощения дальнейших вычисле-
ний положим Ah= 4 для всех h = 1,2,3, а D*=0.05. Пусть теперь в результате первых двух шагов (пунктов 1,2) алгоритма случайного поиска получено следующее решение:
|
|
0 |
0 |
0 |
x |
|
0 |
0 |
0. |
ij |
|
1 |
0 |
0 |
|
|
0 |
1 |
1 |
Оно имеет следующие характеристики:
F1 cijxij 4 2 4 10;
i j
Q1 aij1xij 5 2 6 13;
i j
Q2 aij2xij 6 5 4 15;
i j
Q3 aij3xij 3 10 11 24.
i j
Соответственно F(X1) =1, Q1(X1)=0, Q2(X1)=1, Q3(X1)=0.5 с учетом выражений (12.25) и (12.26). А D(X1) =0, поэтому продолжаем решение задачи и образуем из имеющегося на этом шаге исходного решения все производные. Исходная последовательность – Y1.
Y1=(3,1), (4,2), (4,3); производные – Y11 = (4.2), (3,2), (4,3); Y12 = (4,1), (3,2), (5,3); Y13 = (4,1), (4,2), (3.3).
Для Y11 имеем:
|
0 |
0 |
0 |
|
xij |
0 |
0 |
0 |
; |
|
0 |
1 |
0 |
|
|
1 |
0 |
1 |
|
Глава12. Компьютерная поддержка выбора проектных решений 505
F =25, Q1=13, Q2=20, Q3=21. Соответственно F0 =0.286, Q1 =0, Q2
=1, Q3 =1.
Очевидно, что для Y12 результаты те же, что и для Y11, то есть
D(X1) =0.
Для Y13 имеем:
|
0 |
0 |
0 |
xij |
0 |
0 |
0 |
|
0 |
0 |
1 |
|
1 |
1 |
0 |
и F =22, Q1=10, Q2=22, Q3=24. Соответственно F =0.728, Q1=0.75,Q2=0.5, Q3=0.5, D(X1)=0.428.
Пусть теперь в результате генерации последовательности случайных чисел была получена следующая исходная последовательность Y = {(1,1), (4,2), (4,3)}. Характеристики этой последовательности очевидно следующие:
|
1 |
0 |
0 |
|
xij |
0 |
0 |
0 |
, |
|
0 |
0 |
0 |
|
|
0 |
1 |
1 |
|
а F =11, Q1 =11, Q2=10, Q3=23. В свою очередь F =0.952, Q1=0.5,
Q2=1, Q3 =0.25, D(X1)=0.25. Производные последовательности:
Y11={(4,1), (1,2), (4,3)}, Y12={(4,1), (1,2), (4,3)}, Y13 ={(4,1), (1,2), (1,3)}.
Для Y11 имеем:
|
0 |
1 |
0 |
|
xij |
0 |
0 |
0 |
, |
|
0 |
0 |
0 |
|
|
1 |
0 |
0 |
|
а F=23, Q1 =9, Q2=15, Q3=22. Соответственно F=0.38, Q1=1, Q2=1,
Q3=1, D(X1)=0.38. Для Y12 то же самое. Для Y13 имеем:
506 |
Часть 3.Примеры применения компьютерных систем … |
||||
|
|
|
|
|
|
|
|
0 |
1 |
1 |
|
|
xij |
0 |
0 |
0 |
, |
|
|
0 |
0 |
0 |
|
|
|
1 |
0 |
0 |
|
а F =26, Q1=6, Q2=14, Q3=15. Соответственно F= 0.238, Q1=1, Q2=1,
Q3=1, D(X1) =0.23. Полагая =0,05 и N5*0=10 видим, что процесс
вычислений можно закончить. Dopt = 0.428 и оптимальное решение задачи, есть последовательность Y13 и соответственно:
|
0 |
0 |
0 |
xij |
0 |
0 |
0. |
|
0 |
0 |
1 |
|
1 |
1 |
0 |
Здесь необходимо отметить, что рассмотренный алгоритм в наибольшей степени подходит к таким задачам, у которых матрица эффективности заранее неизвестна, а ее элементы вычисляются в ходе решения задачи, например, задачи распределения работ по плановым периодам [12.7].
D. Генетический алгоритм для решения задачи нечеткой оптимизации выбора вариантов проектов
Вданном подразделе рассмотрим лишь конкретные решения по реализации генетического алгоритма для задачи (12.11)- (12.15) с любым видом структурных ограничений, так как основной смысл построения генетических алгоритмов рассмотрен в разделе 8.2, а генерация случайных вариантов решения рассмотрены в предыдущем подразделе.
1. Генерация возможных решений методом "популяции особей"
Вразделе используется алгоритм случайного поиска, аналогич-
ный рассмотренному в предыдущем разделе. С помощью датчика случайных чисел, имеющих равномерное распределение на (0,1), формируем начальное множество возможных решений (в этом методе часто называемом начальной популяцией особей). Каждое решение представим в виде бинарной матрицы, состоящей из нулей и единиц:

508 |
Часть 3.Примеры применения компьютерных систем … |
|
|
(k=1, 2, …, n), имеющих равномерное распределение на интервале (0,1) и формируем новое множество решений:
new |
|
|
Xk ,если Lk P(Xk ) |
|
). |
|||
Xk |
X |
k 1 |
,если P(X |
k |
) L |
P(X |
k 1 |
|
|
|
|
k |
|
|
3. Кроссинговер
Новое множество, полученное путем применения оператора отбора, подвергается скрещиванию или кроссинговеру. Чтобы выбрать родительские решения, которые будут скрещены, генерируем n случайных чисел Lk (k=1,2, …, n), имеющих равномерное распределение на интервале (0,1) и проверяем условие: если Lk < Pc (вероятность кроссинговера), то запомнить номер решения k. Таким образом, мы получаем массив номеров выбранных для скрещивания родительских особей. Всех родителей разбиваем по парам и случайным образом выбираем точку кроссинговера. Части, расположенные слева от этой точки, меняем местами, образуя двух потомков. Если полученные потомки удовлетворяют структурным ограничениям задачи, то переписываем их вместо родителей, иначе переписываем родительские решения без изменения.
4. Мутация
Мутация приводит к вероятностному изменению состояний отдельных "генов". В качестве оператора мутации будем применять следующий. Генерируем n случайных чисел Lk (k=1,2, …, n), имеющих равномерное распределение на интервале (0,1). Если Lk < Pm (вероятность мутации), то случайным образом выбираем позицию, то есть ген решения, и изменяем его на противоположный.
5. Инверсия
Аналогично, как и в предыдущих двух пунктах алгоритма генерируем случайные числа Lk. Если Lk < Pi (вероятность инверсии), то случайным образом выбираем в особи два гена и меняем значения местами.
6. Проверка выполнения критерия останова
Проверяется степень приближения полученного решения к максимизирующему, для чего вычисляется выражение (12.27) и согласно пункту 6 алгоритма случайного поиска осуществляется проверка возможности остановки работы алгоритма.
Глава12. Компьютерная поддержка выбора проектных решений 509
Заметим, что на каждом этапе работы этого генетического алгоритма мы должны следить за тем, чтобы полученное решение было допустимо, т.е. должны выполняться структурные ограничения, а
нарушение ресурсных ограничений не превышало Ah для каждой особи.
В настоящее время существует огромное количество программных продуктов, предназначенных для реализации генетических алгоритмов различного назначения. Среди них наиболее известными следует считать [12.9]: GAplus – программа, разработанная специали-
стами Olevarty Webdesignstudio; пакет GeneHanter 1.0 компании Ward System Group; пакет Evolver 4.0 компании Palisade Corp, представ-
ляющий собой дополнение к программе Excel 5.0 и 7.0., а также система – универсальный математический пакет MATLAB (сокращение от MATrix LABoratory – МАТричная ЛАБоратория).
Анализ перечисленных и других существующих генетических пакетов программ алгоритмов многокритериальной оптимизации, а также доступного программного обеспечения показал, что разработано множество алгоритмов со своими методиками для решения различных задач оптимизации. Однако ранее не рассматривалось решение нечеткой обобщенной распределительной задачи, которая является многокритериальной, с нечетко поставленной целью и ограничениями. Все выше сказанное послужило основанием для разработки генетического алгоритма поиска оптимального решения нечеткой распределительной задачи в рамках системы MATLAB.
12.5. Согласование и оптимизация проектных решений освоения месторождений нефти и газа
Рассмотрим теперь важную с практической точки зрения модификацию задачи (12.1)-(12.5). Речь идет о таком варианте этой задачи, когда необходимо получить не только оптимальное, но и согласованное решение. Такая ситуация может возникнуть тогда, года выбор вариантов проектов разработки месторождений производится на экспертном совете, или например, если речь идет о выборе оптимальных комплексов ГИС [12.7], когда необходимо получить оптимальное и согласованное решение между заказчиком и исполнителем комплексов ГИС и др.