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

Учебное пособие 1586

.pdf
Скачиваний:
7
Добавлен:
30.04.2022
Размер:
1.43 Mб
Скачать

Не всегда можно заранее определить, сколько раз придется вычислять функцию. В методе Фибоначчи это нужно знать для определения 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