Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Задачи принятия решений и оптимизации в машиностроении. Учебное пособие
.pdf
x
x
f(x
f(x
f(x
f(x
y = f(x)
12
f(x)
)
5
ОДР
f(x2)
)
1
)
4
)
3
0
a1
h h h h
(a2),x
x2 x3 x4 (x5),b
1
1
x
Рис.1.6. Графическая иллюстрация решения однопараметрической однокрите-
риальной задачи оптимизации
Когда однопараметрическая однокритериальная задача
оптимизации решается с применением графо-аналитического метода
вручную, то на втором этапе применяют метод перебора. Суть его
заключается в следующем. В пределах ОДР через определенный
интервал h выбирается ряд значений параметра
. В рассматриваемом
нами случае ОДР разбита на четыре отрезка и выбрано пять значений
параметра
. Для этих значений параметра x рассчитываются
соответствующие значения целевой функции. Среди них находят
минимальное (максимальное) значение. Значение параметра
x ,
i
обращающее целевую функцию в минимум (максимум), является
оптимальным. Если в рассматриваемом нами случае
минимуму, то
xx
=
, если к максимуму, то
3опт
опт
=
)(
xf стремится к
xx
.
5
При решении практических задач оптимизации всегда следует
иметь в виду, какова целевая функция. Это значительно упрощает
работу как при решении задач оптимизации вручную с применением
графо-аналитического метода, так и при решении таких задач с
использованием компьютерных программ. Причем это относится и к
случаю использования готовых программ и, что особенно важно, к
разработке собственных программ.

→
y
≤
≤
≤
≤
f(x) f(a
f(b
y = f(x)
13
Ниже рассмотрен частный случай, когда целевая функция
линейная (рис.1.7).
)
2
)
1
0
Рис. 1.7. Графическая иллюстрация решения однопараметрической однокрите-
риальной задачи оптимизации для случая линейной целевой функции
a2 b1 x
В данном случае на втором этапе вычисляют значения целевой
функции только на границах ОДР. Эти значения сравнивают и
выбирают наименьшее или наибольшее. Для примера, приведенного
на рис. 1.11, если
то
опт
ax
=
.
2
, то
min)x(f
bx
=
, если max)x(f
1опт
→
Рассмотрим графоаналитический метод решения
многопараметрической однокритериальной задачи оптимизации.
Постановка многопараметрической однокритериальной задачи. Задан один критерий
ми), включающими в себя ряд параметров )x,...,x,x(fy
. Процесс описан уравнением (уравнения-
=
. Имеется
n21
система ограничений:
(1.5)
;bxa
≤≤
111
(1.6)
;bxa
222
…
(1.7)
;bxa
nnn
…
1 ≤⋅+
(1.8)
;cxx)n(
121
(1.9)
.)2(
cxxn ≤⋅+
232
…
,

=
⋅
>
14
Требуется определить оптимальное значение ряда параметров
)(,...,,
nmxxx
≤
, обращающих целевую
функцию
21
mоптопт
опт
),...,,(
xxxf в максимум или минимум.
21 n
Пример двухпараметричеcкой однокритериальной задачи
оптимизации. Задан критерий
x , обращающие в максимум целевую функцию
2ооп
=
)/(
xxfy
. Требуется найти
12
x , и
опт1
max/12→=
xxy .
Ограничения:
;x
81
≤≤
1
;x
122
≤≤
2
1021≥⋅
xx .
Задача решается также в два этапа:
1. Построение ОДР.
2. Нахождение в пределах ОДР оптимального решения.
Построение ОДР в данной задаче в отличие от
однопараметрической задачи заключается в том, что работать нужно в
двух направлениях (рис. 1.8). В итоге в плоскости
0
xx ОДР будет
21
представлять собой многогранник. Для построения нелинейного
ограничения
сначала необходимо приравнять левую и
1021≥⋅ xx
правую части неравенства и построить соответствующую кривую:
;1021=⋅ xx
;/1012xx =
построим кривую по трем точкам: при
, при
52=x
51=x
.
22=x
11=x
, при
102=x
21=x
После построения ограничений нужно определить направление
допустимости искомых параметров
x и 2x . Чтобы не ошибиться,
1
можно применить следующий прием. Выберем произвольную точку на
плоскости
координатами
Вычислим значение левой части неравенства:
0
xx с любой стороны кривой. Например, выберем точку с
21
51=
x и
52=
x , т.е. «справа-вверху» от кривой.
,
2555
1025
следовательно, неравенство выполняется. Это значит, что выбранная
точка находится в допустимой области искомых параметров. То есть
допустимая область искомых параметров находится «справа-вверху»
от кривой.
,

n
2 5 8 2 5
15
На втором этапе необходимо вычислить значения целевой
функции в пределах ОДР. В данном примере искомая точка,
определяющая оптимальные значения искомых параметров, находится
на границе ОДР:
8
=
x ,
опт1
2
=
x .
опт2
x ,
опт1
12
=
x . Если
опт2
min/12→
xx , то
1
=
y = x2 / x
1
12
ОДР
10
2,5 12
10
0 1
Рис.1.8. Графическая иллюстрация решения двухпараметрической однокрите-
риальной задачи оптимизации
x2
1,5
0,4
0,25
x1
1.3. Графоаналитический метод решения задач
линейного программирования
Постановка задачи. Требуется найти оптимальные значения
переменных
целевой функции:
xxx
,...,,
, доставляющие экстремум линейной
n
21
n
2211
=++=
∑
j
xcxc...xcxcy
. (1.10)
jjnn
−
1

1234567
8
x
y
y =16
ОДР
16
Имеется конечное число линейных ограничений вида:
nn 12211
ηηηη
;k,p,bxa...xaxa
1==++
(1.11)
Требуется найти оптимальные значения
lnlnll 22211
mnmnmm 32211
;k,p,bxa...xaxa
1==++
(1.12)
.k,p,bxa...xaxa
1==++
(1.13)
,
.
оптоптxx21
Пример. Целевая функция:
maxxxy →+=
2
21
.
Система ограничений:
;102
≤+ xx
21
;183
≤+ xx
21
;0
≥x
1
0
≥x
.
2
1-й этап. Построение области допустимых решений. Для
формирования ОДР необходимо в системе координат
0xx
построить
21
линии, соответствующие ограничениям, приравнивая их левые и
правые части, и определить направления расположения допустимых
значений искомых переменных в соответствии со знаками неравенств
(рис.1.9).
1
= 12,8
max
0 1 2 3 4 5 6 7 8 9 10 11 12 x
Рис. 1.9. Графическая иллюстрация решения задачи линейного
программирования
2

=
17
Для вычисления координат точек при построении первых двух
линейных ограничений используем следующие соотношения:
210102102 xxxxxx −=⇒=+→≤+
.
122121
С учетом этих выражений строим прямую для первого
ограничения:
при
01=x
,
102=x
51=x
,
02=x
а также
3/)18(183183
xxxxxx −=⇒=+→≤+
при
01=x
,
62=x
6
x
1
.
42=x
Направления допустимости значений переменных
122121
x
и
x
1
2
в
соответствии с первыми двумя ограничениями – «вниз - влево». В
соответствии с третьим ограничением значения переменной
находиться выше оси
значения переменной
0x
, а в соответствии с четвертым ограничением
2
x
должны находиться правее оси
2
x
1
0x
. Следует
1
должны
иметь в виду, что границы ОДР в область допустимых решений
входят. Это объясняется тем, что в ограничениях применяются знаки
неравенств «меньше-равно» и «больше-равно».
2-й этап. Окончательное определение оптимальных значений
переменных
x
и
x
1
. Для этого необходимо сначала построить
2
произвольную прямую для целевой функции, приравняв ее выражение
к любому числу, так, чтобы эта прямая располагалась в пределах
выбранного масштаба рисунка. Приравнивая выражение целевой
функции, к числу «16», например, строится соответствующая прямая
линия:
2/)16(162max;2
xxxxxxy −=⇒=+→+=
.
122121
Построим прямую по точкам: при
.
42=x
01=x
, при
82=x
81=x
После этого необходимо построить прямую линию, параллельную
данной прямой, так, чтобы она коснулась границы ОДР. Координаты
точки касания этой прямой с границей ОДР будут оптимальными
x,x
значениями переменных
.
2оопопт1
Для точного определения координат точки касания линии целевой
функции границы ОДР (точных значений
x,x
) необходимо
2оопопт1
решить систему, включающую в себя два уравнения:

y
x
=
18
102
=+ xx
,
21
183
=+ xx
.
21
После решения этой системы уравнений находятся
2542
,x;,x
== . При этом максимальное значение целевой
2оопопт1
функции 812252422
max
21
,,,xxy
=⋅+=+= .
1.4. Численные методы решения задач нелинейного
программирования. Поиск экстремума функции
одной переменной
Нередко при описании протекания технических процессов не удается все функциональные зависимости привести к линейному виду.
Напомним, что задача математического программирования формулируется следующим образом: найти значения переменных
доставляющие максимум или минимум целевой функции
),...,,(
= при условиях:
xxxfy
21 n
jnj
Особенность задач нелинейного программирования заключается в том,
что функции
и (или)
g
нелинейны. В этих случаях применяются
j
численные методы решения.
Методы поиска экстремума функции одной переменной:
1. Классический метод.
2. Метод равномерного перебора.
3. Метод золотого сечения.
4. Метод Фибоначчи и т.д.
Эти методы применяются в однопараметрических задачах оптимизации для определения оптимального параметра, а целевая функция
зависит от одной переменной.
Постановка задачи. Найти значение переменной
доставляющее минимум или максимум целевой функции
при условиях
jj
)m,j(,b),()x(g
1=≥≤= .
Классический метод минимизации (максимизации) функции
одной переменной. Пусть
bxa ≤≤
, функция )(xf непрерывна на
этом отрезке и имеет на нем непрерывную производную. Вычисляют
значение производной
и определяют критические точки, т.е.
)(' xf
21
121=≥≤= .
x,...,x,x
n
)m,j(,b),()x,...,x,x(g
)x(fy
,
,
,

[
]
[
]
[
]
→
=
f(x)
x
x
19
такие внутренние точки отрезка
b,a
, в которых производная обра-
щается в нуль или не существует. В окрестности каждой такой критической точки исследуют знак производной и отбирают те из них, при
переходе через которые производная меняет знак с минуса на плюс
(это точки локального минимума) или с плюса на минус (это точки
локального максимума ). Затем вычисляют значения целевой функции
в этих точках и на границах отрезка
b,a
. Эти значения сравнивают
между собой и определяют точку, в которой достигается минимум
(максимум) целевой функции. Эта точка является точкой глобального
минимума (максимума) функции )(
xf
на отрезке
b,a
.
При решении реальных задач оптимизации данный метод
применяется редко, так как часто производную целевой функции
определить сложно или невозможно.
Метод равномерного перебора. Пусть дана функция
(рис 1.10).
min)(
xfy
x′
x″
h
h
a = x
1
Рис. 1.10. Графическая иллюстрация метода равномерного перебора
3
2
b x
В соответствии с данным методом, алгоритм поиска
заключается в следующем. Фиксируют величину шага
Вычисляют значения целевой функции в точках
)x(fhxx
−+=
и
112
)x(f
. Полученные значения сравнивают.
2
x
опт
0>h
ax =
и
1
Запоминают меньшее из этих двух значений. Далее выбирается
точка
hxx +=
и в ней вычисляется значение целевой функции
23
.

x
[
]
[
]
[
]
x
b x
0 0
x
b x a a
f(x)
20
)(3xf
. Наименьшее из них опять запоминают. Так поступают до тех
пор, пока очередное значение
не превысит b. Последнее
оставшееся значение является приближенным значением глобального
минимума.
При использовании данного метода могут возникать
определенные трудности. Если целевая функция имеет узкую впадину,
подобную приведенной на рис. 1.10, то можно ее проскочить, и вместо
точки глобального минимума определить точку локального минимума,
т.е вместо
'x
можно найти "x. Эта проблема частично снимается, если
выбрать очень маленький шаг, но при этом потребуется много времени
(в том числе и машинного) для решения задачи.
Метод золотого сечения. Рассматриваемая в данном методе
функция должна быть унимодальной. Функция
b,a
модальной на отрезке
, если она на этом отрезке имеет един-
является уни-
)x(f
ственную точку глобального минимума и слева от этой точки является
строго убывающей, а справа строго возрастающей.
Суть метода золотого сечения заключается в том, чтобы
определить точку глобального минимума на отрезке
b,a
за
минимальное количество шагов, т.е. за минимальное количество
вычислений целевой функции.
В соответствии с данным методом в каждый текущий момент
времени рассматривается всегда две точки, например, в начальный
момент точки
x
и
x
1
так, чтобы
2
bxxa <<<
. При этом возможен
21
один из двух случаев, приведенных на рис. 1.11:
f(x)
Случай 1: f(x1) < f (x2)
Случай 2: f(x1) > f(x2)
f(x2)
f(x1)
x2
Рис.1.11. Иллюстрация обоснования исключения отрезков
f(x1)
f(x2)
x1
2
Согласно свойству унимодальной функции, в первом случае
искомая точка
x
не может находиться на отрезке
min
, во втором
b,x
2

[
]
[
]
[
]
[
]
[
]
[
]
[
]
[
]
x
Случай 1
x
x
x2
x3 b x
x1
x,a
случае на отрезке
поиска сужается, и следующую точку
из укороченных отрезков:
На первом этапе при использовании метода золотого сечения
необходимо определить, где на исходном отрезке
выбирать точки
положении точки
приводим для наглядной иллюстрации сути метода). При реальной
оптимизации есть только выражение для целевой функции).
Поэтому любой из приведенных выше случаев возможен с
одинаковой вероятностью. Это означает, что лишним может оказаться
любой из отрезков:
x
следует выбирать симметрично относительно середины отрезка
2
b,a
. Для того, чтобы максимально сузить область поиска, эти точки
должны быть как можно ближе к середине исходного отрезка. Однако
слишком близко к середине отрезка их тоже брать не следует, так как
мы хотим построить алгоритм, для реализации которого необходимо
общее минимальное количество вычислений целевой функции.
Рассмотрим рис. 1.12.
f(x)
x
1
x
(показаны штриховкой). Значит, область
1
и
x
2
, так как графики не строятся (здесь мы их
min
b,x
2
21
x
необходимо брать на одном
3
x,a
– случай 1 или
2
. Первоначально ничего не известно о
или
x,a
. Отсюда ясно, что точки
1
f(x)
bx ,
– случай 2.
1
ba,
рациональнее
x
1
и
Случай 2
f(x3)
f(x2)
f(x1)
0
a
3
Рис.1.12. Иллюстрация обоснования расположения точек на отрезке
Выбирая на первом шаге сравниваемые точки слишком близко к
середине отрезка
b x
2
b,a
, исключается из рассмотрения большой
f(x3)
f(x1)
f(x2)
0 a
1
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
