105
Для удобства введем линии уровня целевой функции, т. е. линии, на которых в плоскости х1Oх2
целевая функция
f(х)=с1x1+с2x2
(11.5)
принимает постоянное значение, например,
, и обозначим ее Z
. Очевидно, каждая линия уровня
Z
={(x1,x2):f(x)=a} является прямой; при этом gradf(x)=
2
1
2
1
,
,
c
c
x
f
x
f
является вектором N,
перпендикулярным линии уровня и направленным (в данном случае) в сторону увеличения
. Таким
образом, для нахождения оптимального решения нам следует перемещать линию уровня до касания с
многоугольником OABCDE, при этом оптимальная прямая Z
*
. коснется либо какой-то вершины (в
нашем случае С), либо какого-либо ребра (например, СВ или CD при определенном изменении
параметров с1 и с2).
Из приведенной геометрической интерпретации вытекает, что минимум обязательно достигается на
одной из вершин многоугольника, поэтому его можно было бы найти методом перебора, сравнивая
между собой значения целевой функции во всех вершинах. Конечно, метод перебора в принципе
годится и в случае п переменных, однако при больших значениях п он неэффективен. Поэтому возникли
и развиваются методы, позволяющие сформулировать более обозримые и эффективные критерии
оптимальности. Начало им было положено работами акад. Л.В. Канторовича (1939 г.). Не углубляясь в
суть этих методов, приведем пример одной многокритериальной модели.
В предыдущей задаче мы рассматривали одну целевую функцию. Однако на практике часто
встречается ситуация, когда целенаправленная человеческая деятельность преследует сразу несколько
целей. Такие задачи получили название многокритериальных. Методы их решения проиллюстрируем на
только что рассмотренном примере составления оптимального рациона, несколько усложнив его.
Допустим, надо решить задачу об оптимальном рационе, максимизировав в нем первый продукт.
Тогда наша математическая модель выглядит следующим образом:
.
max,
)
(
,
min,
)
(x
1
2
1
1
P
x
x
x
f
P
x
x
c
f
n
j
j
j
(11.6)
Прежде чем приступить к решению, обсудим задачу, чтобы лучше понять ее специфику. Итак,
забудем на время о первой целевой функции из (11.6). Тогда не составляет труда найти решение задачи:
maxf2(x)=f2(E), x
P (рис. 11.2).
(11.7)
Однако значение первой целевой функции может быть значительно больше оптимального
)
(C
)
(E
1
1
f
f
. Совершенно аналогично обстояло бы дело, если бы мы забыли о второй целевой
функции и искали минимум первой целевой функции:
)
(C
);
(C
)
(
min
2
1
1
f
f
x
f
P
x
может быть много
меньше f2(Д). Приведем наиболее употребительный метод решения многокритериальных задач (в
данном примере двухкритериальной задачи), а именно сведение двух критериев к одному.
1. Для реализации этого метода необходимо «взвесить» относительную важность каждого из
критериев, т. е. выбрать из внемодельных соображений число
, 0 <
< 1, а затем построить одну
целевую функцию
).
(
)
1
(
)
(x
)
(x
2
1
x
f
f
f
(11.8)
Если
=1. то в расчет принимается только первая целевая функция, а если
=0, то только вторая (рис.
11.1 и 11.2). Глубокое знание реальной проблемы и накопленный опыт могут позволить выбрать 0<
<1
так, чтобы, решив оптимизационную задачу с единственной целевой функцией, можно было бы
получить удовлетворительное решение для исходной постановки задачи с двумя целевыми функциями
(рис. 11.3). Встретив трудности при решении двухкритериальной задачи, можно заменить ее
однокритериальной, решать которую мы умеем.
|