Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Решение задач управления в экономике с помощью Еxcel. Учебное пособие
.pdf
81
Обычно степень приближения к максимуму (минимуму) оценивают вели-
)(
)()(
11
k
kk
k
xf
xfxf
f
3
f
3
f
3
ff
k
k
x
1k
x
kk
xxx
21
*
,
)(xf
k
x
1
x
0
1
x
*
1
x
2
x
*
2
x
0
2
x
f(x1, x2)
Погрешность
Начало
Истинная вер-
Найденная вер-
Рис. 4.2
чиной погрешности
,
которая должна быть не выше заданной
Условие (4.1) выполняется в том случае, если точки (вектора)
(по умолчанию
=0,00001), т.е.
. (4.1)
и
находятся в ближайшей окрестности максимума (глобального или локального),
показанного на рис. 4.2. Здесь точка
после шага
.
определяет максимум функции

82
4.2. Задача о минимизации функции
abcV
bahababbahS 2222
hbaabkSkC 2
***
,, hba
3
C
10k
100
3
C
max cbaV
10020 hbaab
0,0,0 hba
а b с
а
а b b
b
b
с
Рис. 4.3
а
б
Требуется определить размеры бака, имеющего форму параллелепипеда
(рис. 4.3) заданного объема.
Определим некоторые параметры бака:
объем бака V
,
полную поверхность
и стоимость материала
,
где k – стоимость единицы площади материала.
Задачу оптимизации сформулируем как нахождение таких размеров бака
, при которых достигается его максимальный объем и количество за-
траченных средств на материал не превышает заданного
руб./м2 и
руб., то задачу оптимизации можно записать в следующей
. Если задать
математической форме:
ЦФ:
ОГР:
ГРУ:
. (4.2)
. (4.3)
. (4.4)

83
Осуществляя замену
321
,, xhxbxa
321
)( xxxxf
10020)(
32121
xxxxxxg
0,0,0
321
xxx
,0)(
,max)(
xh
xf
x
x
,
max)()(),(
x
xhxfxL
,
max
x
сать в формальном виде
, задачу (4.2)-(4.4) можно перепи-
ЦФ:
ОГР:
ГРУ:
, (4.5)
, (4.6)
. (4.7)
В Excel условная задача оптимизации (4.5)-(4.7) преобразуется в безуслов-
ную с использованием метода множителей Лагранжа. Для этого ограничение
(4.6) преобразуется в уравнение
h(x) = g(x) – 100,
а задача условной оптимизации будет иметь вид
в которой целевую функцию f(x) можно переписать в форме функции Лагранжа
, (4.8)
где – множитель Лагранжа,
x = (x1, x2, x3) – вектор переменных.
Тогда в соответствии с (4.8) условную задачу оптимизации (4.5)-(4.7) можно преобразовать в безусловную
L(x) = x1 x2 x3 + (20x1x2 + 20x3(x1 + x2) – 100)
, (4.9)
где x1 > 0, x2 > 0, x3 > 0.
Технология решения задачи на Excel
Необходимые данные и функции из (4.5) - (4.7) введите на рабочий лист
Excel согласно форме, представленной на рис. 4.4.
В ячейки B3:D3 введите начальные значения переменных, равные 1, в
ячейку В8 – выражение целевой функции (4.5), а в ячейку В9 – левую часть
ограничения (4.6).

84
Рис. 4.4
Командой Сервис, Поиск решения откройте диалоговое окно Поиск ре-
шения (рис. 4.5) и заполните его данными. В поле Установить целевую ячейку
щелчком левой клавиши мыши установите курсор и, выделяя ячейку С8 на рабочем листе, введите в поле адрес целевой функции $С$8.
Рис. 4.5
Аналогичным образом установите курсор в поле Изменяя ячейки и, выделяя на листе ячейки В3:D3, введите их адреса $B$3:$D$3 в это поле. Переведите переключатель Равной в положение максимальному значению.
Введите неравенство $С$9<=$Е$9, реализующее ограничение (4.7), и неравенства $B$3>=$B$4, $C$3>=$C$4, $D$3>=$D$4, реализующие граничные
условия (4.7).
Для задания необходимых параметров оптимизации нажатием кнопки Па-
раметры откройте окно Параметры поиска решения (рис. 4.6).

85
Рис. 4.6
Снимите флажок Линейная модель, чтобы обеспечить переход к нелинейным поисковым методам, установите переключатели в положение линейная,
прямые, Ньютона и нажмите кнопку ОК.
Установите флажок Линейная модель, чтобы обеспечить применение симплекс-метода, и нажмите кнопку ОК.
В окне Поиск решения нажмите кнопку Выполнить. На экране появится
диалоговое окно Результаты поиска решения (рис. 4.7) с информацией «Ре-
шение найдено. Все ограничения и условия оптимизации выполнены», подтверждающей успешное решение нелинейной задачи оптимизации (4.9).
Рис. 4.7
Полученные количественные результаты (значения переменных, ограничений и целевой функции) приведены на рис. 4.8.

86
Рис. 4.8
Из рис. 4.8 видно, что оптимальным решением являются значения переменных
x1 = B3 = 1,29, x2 = C3 = 1,29, x3 =D3 = 1,29.
При этом значение целевой функции (4.5) равно
f = С8 = 2.15,
а левой части ограничения (4.6) -
g = C9 = 99.85.
Откройте отчет по устойчивости и определите величину множителя Лагранжа.
4.3. Максимизация функции методом эволюционного поиска
Градиентные методы Ньютона и сопряжённых градиентов, используемые в
Excel, неприемлемы для поиска оптимального решения негладкой и недиффе-
ренцируемой функции. В этих случаях для нахождения приближенных оценок
оптимального решения целесообразно использовать эволюционный (генетический) алгоритм, именуемый как Standart Evolutionary.
Эволюционные алгоритмы, разработанные Д. Холландом в 1970-х годах и
называемые чаще как генетические алгоритмы, основаны на биологических
концепциях природного естественного отбора.
Приведем краткий перечень основных свойств, на которых строится работа генетического алгоритма.

87
1. Алгоритм случайно выбирает начальные точки, называемые исходным
решением или исходной популяцией.
2. В генетическом алгоритме хранится большое количество промежуточ-
ных результатов, называемое популяцией возможных решений, не все из кото-
рых являются допустимыми решениями. Данная популяция используется для
создания новых начальных точек, не обязательно в окрестности текущего
наилучшего решения, что помогает алгоритму избегать остановки в локальном
оптимуме.
3. Аналогично генным мутациям в биологии алгоритм время от времени
производит случайные изменения в одном или нескольких членах популяции
для создания новых потенциальных начальных точек - "потомков", которые могут находиться далеко от остальных членов данной популяции.
4. Как при половом способе размножения, элементы существующих в по-
пуляции решений комбинируются друг с другом с помощью операции, напо-
минающей скрещивание цепочек ДНК, чтобы создать новое потенциальное решение, обладающее чертами каждого из родительских решений.
5. Любые нарушения ограничений новым решением приводят к вычитанию
(в модели максимизации) из значения целевой функции для данного решения
или прибавлению к нему (в модели минимизации) "штрафа", сумма которого
отражает степень нарушения ограничений. Это измененное значение целевой
функции становится мерой "пригодности" данного решения.
6. Аналогично естественному отбору начальные точки-потомки, которые
не улучшают значения целевой функции и не помогают получить новые
начальные точки, в конечном счете удаляются из популяции как "непригодные".
В генетическом алгоритме решение задачи представляется в виде генома
(или хромосомы). Алгоритм работает с популяцией, содержащей десятки или
даже сотни допустимых решений. Из этой популяции решений генетический
алгоритм создает с помощью операций мутации и скрещивания новые решения,

88
чтобы получить набор претендентов на "звание" наилучшего решения. Упрощенно говоря, в ходе скрещивания для получения новой хромосомы (потомок)
комбинируются две (родительские) хромосомы. Как и в половом размножении,
идея скрещивания состоит в том, что новая хромосома может оказаться лучше
обеих родительских, если взять лучшие характеристики каждой из них. В отли-
чие от скрещивания, операция мутации привносит некий элемент случайности в
новые хромосомы-потомки. Ее задача заключается в том, чтобы помочь программе найти такие решения-потомки, которые невозможно получить путем
скрещивания. Решения-потомки с низким значением выигрыша ("плохим" зна-
чением целевой функции) сохраняются, поскольку они могут произвести в сле-
дующих поколениях потомков с высоким выигрышем (лучшим значением це-
левой функции). Если этого не происходит, эти потомки в конечном счете удаляются из популяции решений. Согласно принципу выживания наиболее приспособленных, генетические алгоритмы — это алгоритмы поиска, использую-
щие структурированный обмен информацией (скрещивание) и рандомизацию
(мутации) для формирования процедуры поиска, обладающей свойствами при-
родных процессов: в каждом поколении создается новый набор решений, со-
зданных из наиболее подходящих экземпляров предыдущего поколения. Отметим, что генетический алгоритм не является просто случайным движением по
пространству возможных решений. Это было бы слишком неэффективно.
Напротив, данный алгоритм эффективно использует накопленную информацию
для формирования новых решений, которые, как ожидается, улучшат выигрыш.
Поэтому генетический алгоритм иногда называют методом направленного слу-
чайного поиска.
Технология решения задачи на Excel
Используя данные нелинейной задачи (рис. 4.4), введите новую строку
Верхняя гр., в которой поместите верхние границы 5, 5, 5 переменных x1, x2, x3,
показанные на рис. 4.9, а.

89
б
Рис. 4.9
Командой Сервис, Solver откройте окно «Solver Parameter» и введите данные (рис. 4.9, б):
Set Cell (установить целевой ячейку): $C$8
Equal To: (равной)
Max: (максимальному значению)
By Changing Variable Cells (изменяя ячейки): $B$3:$D$3
Subject to the Constrains (ограничения): $B$3:$D$3<=$B$5:$D$5
$B$3:$D$3>=$B$4:$D$4
$C$9<=$E$9
В списке Premium установите опцию Standard Evolutionary и нажмите
кнопку Solve (Выполнить).
Результаты поиска в ячейках B3:D3 показывают приближенный характер
найденного решения. Оно отличается от решения (см. рис. 4.4), найденного
градиентным методом.

90
Самостоятельная работа № 3
max,5,023
21
2
2
2
121
xxxxxx
,6,321 xx
.0,0
21
xx
max,25,184
21
2
2
2
121
xxxxxx
,1
,3
21
21
xx
xx
.0,0
21
xx
max,336
21
2
2
2
121
xxxxxx
,1
,1234
21
21
xxxx
.0,0
21
xx
max,25,16
21
2
2
2
12
xxxxx
,2
,1243
21
21
xxxx
.0,0
21
xx
max,5,1128
2
2
2
121
xxxx
,1052
,42
21
21
xx
xx
.0,0
21
xx
max,5,023
2
2
2
121
xxxx
,632
,22
21
21
xx
xx
.0,0
21
xx
max,268
2
2
2
121
xxxx
,1243
,2
21
21
xx
xx
.0,0
21
xx
max,2222
21
2
2
2
121
xxxxxx
,2
,42
21
21
xxxx
.0,0
21
xx
Решите с помощью Excel следующие нелинейные задачи, используя метод
Ньютона и генетический алгоритм.
1.
2.
3.
4.
5.
6.
7.
8.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
