Учебное пособие 1586
.pdfНе всегда можно заранее определить, сколько раз придется вычислять функцию. В методе Фибоначчи это нужно знать для определения L2, т.е. положения начальной точки.
В методе «золотого сечения» не требуется знать n – количество вычислений функции, определяемое вначале. После того как выполнено j вычислений, исходя из тех же соображений, что и ранее, записываем Lj 1 Lj Lj 1.
Однако если n неизвестно, то мы не можем использовать условие Ln 1 2Ln . Если отношение последующих интервалов будет постоянным, т.е.
|
|
|
|
|
|
|
Lj 1 |
|
|
Lj |
|
|
Lj 1 |
... , |
(2.5) |
||||||
|
|
|
|
|
|
|
|
|
Lj |
Lj 1 |
Lj 2 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
то |
Lj 1 |
1 |
|
Lj 1 |
, т.е. |
1 1 . |
|
|
|
||||||||||||
|
Lj |
|
Lj |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
Таким образом, |
2 1 0 . |
|
|
|||||||||||||||
|
|
|
Получим (1 |
|
|
|
|
||||||||||||||
|
|
|
|
5)/2 1.618033989. Тогда |
|||||||||||||||||
|
Lj 1 |
2, |
Lj 2 |
3 |
|
|
|
|
|
|
|
|
|
L |
|||||||
|
|
|
|
|
|
|
и т.д. |
Следовательно, Ln |
1 |
. |
|||||||||||
|
Lj 1 |
|
|
Lj 1 |
|
|
|
|
|
|
|
|
|
|
|
n 1 |
В результате анализа двух рассмотренных значений функций будет определен тот интервал, который должен исследоваться в дальнейшем. Этот интервал будет содержать одну из предыдущих точек и следующую точку, помещаемую симметрично ей. Первая точка находится на расстоянии L1 / от одного конца интервала, вторая – на таком же расстоянии
от другого. Поскольку lim Fn 1 1 , то поиск методом
n Fn n
«золотого сечения» является предельной формой поиска методом Фибоначчи. Название «золотое сечение» произошло от названия отношения в уравнении (2.5). Видно, что Lj 1
20
делится на две части так, что отношение целого к большей части равно отношению большей части к меньшей, т.е. равно так называемому «золотому отношению».
Таким образом, если ищется интервал (x0;x3) и имеются два значения функции f1 и f2 в точках x1 и x2, то следует рассмотреть два случая (рис. 2.4).
a) f1 < f2
новый интервал (x0, x2)
x0 x1 x2 x3
б) f1 > f2
новый интервал (x1, x3)
x0 x1 x2 x3
Рис. 2.4
Основные шаги алгоритма:
Шаг 1. Задать интервал (А;В), точность .
Шаг 2. Положить х0=А и х3=В. Определить первую
точку x |
B |
L1 |
, где L |
(x |
0 |
x |
3 |
); |
x |
2 |
x |
0 |
x |
3 |
x |
1 |
. |
|
|||||||||||||||||
1 |
|
|
1 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Шаг 3. Вычислить значения функции в точках х1 и х2 –
f1 и f2.
Шаг 4. Установить новые значения координат точек в зависимости от соотношения f1 и f2:
I а) если f1<f2, то I = x2 – x0; x3 = x2; x2 = x1; x1 x0 ;
f2 = f1.
I б) если f1>f2, то I = x3 – x1; x0 = x1; x1 = x2; x2 x0 ;
f1 = f2.
Шаг 5. Если I , возврат к шагу 3. Иначе, конечным результатом поиска считается точка x1.
21
3.ЛИНЕЙНАЯ ОПТИМИЗАЦИЯ
3.1.Форма записи задач линейной оптимизации
Задачи линейной оптимизации заключаются в определении оптимального (максимального или минимального) значения линейной целевой функции при линейных ограничениях. Ограничения в задачах линейной оптимизации представлены в виде системы линейных равенств и неравенств. Задачи линейной оптимизации называются еще задачами линейного программирования (ЗЛП). Эту терминологию будем использовать в дальнейшем.
Модель задачи линейного программирования (ЗЛП) может быть записана в одной из следующих форм:
Общая ЗЛП:
n
F cjxj max(min) ,
j 1 |
|
||
n |
|
|
|
aijxj ( , )bi,i |
1,m |
, |
(3.1) |
j 1 |
|
xk 0,k 1,s, s n .
Здесь x1,...,xn – варьируемые параметры модели. Бу-
дем предполагать, что переменные xj неотрицательны.
Стандартная ЗЛП:
n
F cjxj max(min) ,
j 1 |
|
n |
|
aijxj bi,i 1,m , |
(3.2) |
j 1
xi 0,i 1,n
22
Каноническая ЗЛП:
n
F cjxj min ,
j 1 |
|
||
n |
|
|
|
aijxj bi,i |
1,m |
, |
(3.3) |
j 1 |
|
xi 0,i 1,n .
Все формы записи ЗЛП являются эквивалентными и могут быть приведены друг к другу с помощью равносильных преобразований.
При разработке вычислительных методов решения ЗЛП особое значение имеет каноническая форма задачи (3.3). Перед решением ЗЛП ее необходимо привести к канонической форме. Каноническая форма записи ЗЛП характеризуется следующими условиями:
1.Целевая функция подлежит минимизации.
2.Все переменные должны быть неотрицательны.
3.Правые части всех ограничений задачи должны быть неотрицательны.
4.Все ограничения задачи должны быть записаны в виде равенств.
При приведении ЗЛП к канонической форме использу-
ются следующие основные приемы:
1.Для перехода от задачи максимизации к задаче минимизации целевую функцию необходимо умножить на (–1).
2.Переменные, на которые не наложено ограничение неотрицательности, представляются в виде разности двух неотрицательных переменных
xj = uj - wj , где uj , wj 0.
Такая подстановка делается во всех ограничениях, где есть xj, а также в выражении для целевой функции.
3. Переход к ограничениям с неотрицательными правыми частями осуществляется умножением левой и правой
23
частей ограничений с отрицательными правыми частями на (–1). При этом знаки соответствующих неравенств меняются на противоположные.
4. Переход от ограничений-неравенств к ограничениямравенствам осуществляется путем введения дополнительных неотрицательных переменных. При этом, если знак неравенства , дополнительная переменная прибавляется к левой части ограничения, а если , то вычитается. Таким образом, ограничение-неравенство
ai1x1 + ai2x2 +…+ ainxn bi
преобразуется в ограничение-равенство
ai1x1 + ai2x2 +…+ ainxn + xn+1 = bi (xn+1 0),
а ограничение-неравенство
ai1x1 + ai2x2 +…+ ainxn bi ,
в ограничение-равенство
ai1x1 + ai2x2 +…+ ainxn - xn+1 = bi (xn+1 0).
В каждое неравенство вводится своя дополнительная переменная. Число вводимых дополнительных неотрицательных переменных равно числу преобразуемых неравенств.
ЗЛП в векторной форме:
n
F cjxj min;
j 1
n
Ajxj B
j 1
xj 0, j 1,n,
где A1,…,An – m-мерные вектор-столбцы, составленные из коэффициентов при переменных в системе ограничений:
24
|
a |
11 |
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
1n |
|
|
|
|
A |
a21 |
A |
n |
|
a2n |
, |
|
|||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
am1 |
|
|
|
|
|
|
|
amn |
|
|
|||
B – вектор-столбец свободных членов системы |
ог- |
|||||||||||||
раничений: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
B |
b2 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
. |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bm |
|
|
|
|
|
|
|
ЗЛП в матричной форме:
CTX min
AX B ,
X 0
где X – вектор-столбец варьируемых параметров оптимизационной модели:
|
x |
|
|
|
|
|
1 |
|
|
X |
x2 |
|
, |
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
xn |
|
|
C – вектор-столбец коэффициентов при переменных в целевой функции:
25
|
c |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
C |
c2 |
|
, |
CT (c ,...,c |
n |
), |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
cn |
|
|
|
|
|
A – матрица, составленная из коэффициентов при переменных в системе ограничений:
a11 |
... |
a1n |
|
|
... |
... |
|
A ... |
|
||
|
... |
|
|
am1 |
amn |
3.2. Решение задач линейной оптимизации симплекс-методом
Рассмотрим ЗЛП в канонической форме:
n
F cjxj min
j 1
n
aijxj bi, i 1,m
j 1 |
|
xj 0, |
j 1,n |
Вектор X = (x1,…, xn), удовлетворяющий системе ограничений ЗЛП, называется допустимым решением или пла-
ном.
План x* (x1*, ,x*n) , при котором целевая функция принимает оптимальное значение, называется оптимальным.
Перепишем ЗЛП в векторной форме:
26
n
F cjxj min,
j 1
n
Ajxj B,
j 1 |
|
xj 0, |
j 1,n, |
где A1,…,An – m-мерные вектор-столбцы, составленные из коэффициентов при переменных в системе ограничений;
|
a |
11 |
|
|
|
|
a |
1n |
|
|
|
|
|
|
|
|
|
|
|
||
A |
a21 |
A |
n |
|
a2n |
, |
||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
am1 |
|
|
|
|
amn |
|
В – вектор-столбец свободных членов системы ограничений:
|
|
b |
|
|
|
1 |
|
B |
b2 |
|
|
|
|
. |
|
|
|
|
|
|
|
||
|
|
|
|
|
bm |
План X = (x1,…, xn) называется опорным планом ЗЛП,
n
если система векторов Аj, входящих в разложение Ajxj B
j 1
с положительными коэффициентами xj , линейно независима. Так как векторы Аj являются m-мерными, то число положительных компонент опорного плана не может быть больше m.
Симплексный метод решения ЗЛП основан на переходе от одного опорного плана к другому, при котором значение целевой функции убывает. Указанный переход возможен, ес-
27
ли известен какой-нибудь исходный опорный план. Такой план можно легко указать, если ЗЛП имеет следующий вид:
F c1x1 c2x2 cnxn min
x1 a1m 1xm 1 a1nxn b1 x2 a2m 1xm 1 a2nxn b2
xm amm 1xm 1 amnxn bm
xj 0, j 1,n
Векторная форма данной задачи имеет вид:
n
F cjxj min j 1
A1x1 A2x2 Am 1xm 1 Anxn B xj 0, j 1,n
где
|
|
1 |
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
a |
1m 1 |
|
|
|
|
a |
1n |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
A 0 |
, A |
2 |
|
1 |
, A |
m |
|
0 |
, A |
m 1 |
|
a2m 1 |
, A |
n |
|
a2n |
|||||||||||
1 |
|
0 |
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
0 |
|
|
|
|
|
0 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
amm 1 |
|
|
|
|
amn |
Переменные, которые входят только в одно уравнение системы ограничений с коэффициентом 1, называют базисными переменными (в рассматриваемом примере это переменные x1… xm). Остальные переменные называются свободными. Тогда приравнивая базисные переменные соответствующим правым частям ограничений, а свободные переменные нулю, получим опорный план X = (b1, b2,…, bm,0 ,…,0), опреде-
28
ляемый системой единичных векторов, А1,…, Аn, которые образуют базис n-мерного пространства.
Для удобства расчетов в симплексном методе все исходные данные задачи заносят в симплекс-таблицу:
|
|
|
|
|
Таблица 3.1 |
|
|
|
|
|
|
|
|
xБ |
cБ |
B |
c1 |
… |
cn |
|
x1 |
… |
xn |
|
|||
xБ1 |
cБ1 |
b1 |
a11 |
… |
a1n |
|
… |
… |
… |
… |
… |
… |
|
xБm |
cБm |
bm |
am1 |
… |
amn |
|
F |
|
|
1 |
… |
n |
|
|
|
|
|
|
|
В верхней строке таблицы записываются коэффициенты при всех переменных в целевой функции. В первом столбце таблицы записываются базисные переменные в той последовательности, в которой они входят в систему ограничений, во втором – коэффициенты целевой функции при базисных переменных, в третьем – правые части всех ограничений, в последующих столбцах – коэффициенты при соответствующих переменных в системе ограничений. В нижней строке таблицы записываются оценки по каждой переменной, опре-
m
деляемые следующим образом: j cБiaij cj . Под столб-
i 1
цом правых частей обычно записывается текущее значение целевой функции.
На каждой итерации симплекс-метода осуществляется вывод из базиса какой-либо переменной и включение в него другой переменной с соответствующим пересчетом элементов таблицы. Перед решением задачи ее необходимо привести к канонической форме.
Основные шаги симплекс - метода:
29