Гл. 1 Методы поиска экстремума.

advertisement
УлГТУ
факультет ИСТ
кафедра ВТ
Гл. 1 Методы поиска экстремума.
Предметом рассмотрения в настоящей главе являются методы решения
детерминированной задачи:
max (min) f (X).
(1)
Каждый метод поиска экстремума применим либо в некоторых из
тех случаев, когда D и (или) f заданы алгоритмически, либо в некоторых из
тех случаев, когда D и f заданы аналитически. Поэтому все методы поиска
экстремума оказываются разделенными на два больших класса.
В тех случаях, когда D и f можно задать и аналитическим, и
алгоритмическим способами или когда заданные аналитически D и f можно
приближенно
(по
некоторым
соответственно
выбранным
критериям
приближения) заменить на D и f, заданные алгоритмически, возникает
возможность одну и ту же экстремальную задачу решать как теми, так и
другими методами.
Однако нетрудно видеть, что это не образует исключения для
правила отнесения каждого метода поиска экстремума к тому или иному
классу.
Почти каждый из методов, а возможно, и каждый метод поиска
экстремума уже в настоящее время нашел в той или иной мере приложения как
средство решения экономических задач планирования. Эти приложения мы
также попытались отметить.
А. Методы поиска экстремума, применимые в тех
случаях, когда D и f заданы аналитически.
1.Методы поиска безусловного экстремума.
Если множество D совпадает с универсумом А, т. е. если D = А,
то
задача
max f (X) = max f (X) = max f (X)
называется
«задачей на
безусловный экстремум».
Пусть D = А — числовой континиум (=множество действительных
чисел) и f — отображение вида f : D
действительная
функция
действительного
D. Иначе говоря, f —
переменного.
Справедливы
следующие условия существования экстремума:
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
1 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
а) если в точке а  D функция f дифференцируема, тo f может иметь
локальный экстремум, если при X = а f (а) = 0 (необходимое условие
экстремума) (здесь обозначено f^ (n)*(a) =df(X)/dX |x=a);
б) если функция f
n раз
дифференцируема в точке а, то если
п — четное число и производные f' (а)= f (а)= ...=f^n-1(а)=0, функция f (X)
имеет в точке а максимум при f^(n)*(а) < 0 и минимум при f^n*(a)>0. Если
же n — нечетно, то точка a есть точка перегиба (достаточные условия
экстремума).
Необходимые и достаточные условия существования экстремума
однозначно определяют и область приложений метода: метод приложим
тогда, когда f — п раз дифференцируемая действительная функция
действительного переменного. Практически же метод можно применять для
поиска экстремумов один раз дифференцируемых функций или даже
функций, имеющих конечное число точек разрыва, если тем или иным
способом, хотя бы приближенно, эти точки удается локализовать.
Вычислительная сложность метода есть сложность решения уравнения f' (X)
= 0. В зависимости от свойств функции f(X) здесь могут применяться те или
иные точные или приближенные методы.
Названный метод обобщается на случай, когда f — дифференцируемая действительная функция т действительных переменных, т. е. когда
f — отображение вида:
f: АA ... А
А.
т раз
При этом условия существования экстремума принимают следующий вид:
а) если функция f (Х1,..., Хт) дифференцируема в точке (a1,…am),
то она может достигать в этой точке глобального экстремума лишь в том
случае, когда ее первый дифференциал df обращается в нуль, т. е. если
f/X1= 0;
f/X2=0;…; f/Xm=0; при X1=a1,
X2=a2,…,Xm=am
(необходимые условия экстремума);
б) если функция f (X1,..., Xm) имеет в точке (а1,..., аm) непрерывные вторые частные производные и если в этой точке выполнены
необходимые условия экстремума, то в случае, когда второй дифференциал
mm
d^2(X) =   ^2/(Xi)(Xj)| (a1,…,am) =f (XiXj)
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
2 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
i=1j=1
есть отрицательно определенная квадратичная форма (т. е. d^2f< 0
при любых действительных Хi, Xj, i,j = 1,…,m), функция имеет в точке
(a1,…,am) максимум, а в случае, когда d^2f есть положительно определенная
квадратная форма (т. е. d^2f> 0 при любых действительных Хi, Xj, i,j =
1,…,m), функция f имеет в этой точке минимум (достаточные условия
экстремума).
Итак, если f (Х1,..., Хm) — действительная дифференцируемая
функция
т
действительных
переменных,
то
необходимые
условия
экстремума дают систему из т уравнений с т неизвестными, решая которую
мы находим точки, подозреваемые на экстремум.
Фактическая область применения метода несколько уже указанной
выше формально определенной области его применения и зависит от
возможности точно или хотя бы приближенно решить возникающую из
необходимых условий экстремума систему уравнений.
Пусть
F(X1,X2) = 6 + X1 + X2 + X1^2 +- 2X1X2 – X2^2
f/X1 = 1+ 2X1 – 2X2 = 0;
f/21 = 1- 2X1 – 2X2 = 0.
Система имеет единственное решение Х1 = 0, Х2 = 1/2, так что
единственная точка (0, ½) «подозрительна на экстремум».
^2f/X1X1 = ^2f/X1^2 = 2;
^2f/X2X2 = ^2f/X2^2 = - 2;
^2f/X1X2 = ^2f/X2X1 = - 2;
d^2f = 2X1^2 - 2X2^2 -
4X1X2.
Как видим, здесь квадратичная форма является неопределенной, т.
е. знак d^2f зависит от выбора X1 и Х2.
Однако непосредственно из выражения для f (X1,X2) можно
установить, что в точке (0, 1/2) функция имеет перегиб.
Действительно, увеличивая или уменьшая значения X1 и Х2, т. е.
смещаясь в ту или другую сторону от точки 0, мы можем увеличивать или
уменьшать значение f (X1,X2).
Приращение (f (Х1 +X1, Х2 + Х2) - f (Х1, Х2))/(0,1/2) = X1^22Х1*Х2 — Х2^2 больше нуля, например, при X1 > 0 и Х2 = 0 и
меньше нуля при любых Х1 = Х2  0.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
3 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Изложенный метод обеспечивает нахождение всех локальных и
всех глобальных экстремумов. В экономике он применяется довольно
широко, главным образом при анализе производственных функций и других
регрессионных зависимостей. Кроме того, этот метод применяется как
вспомогательный
математический
прием, например
при
построении
регрессионных зависимостей с помощью метода наименьших квадратов.
2. Градиентные методы
1) Метод наискорейшего спуска
Метод наискорейшего спуска есть, вообще говоря, приближенный
метод решения системы уравнений, который строится на том, что задачу
поиска решения системы:
g1 (X1,…,Xn) = 0,
g2 (X1,…,Xn) = 0,
………………….
gn (X1,…,Xn) = 0
n
заменяют на задачу поиска минимума f (Х1,..., Хn) = 
(gi(X1,…,X2))^2 и
i=1
применяют по градиенту.
Ясно, что каждое решение системы (1) доставляет f значение О и
каждое решение является глобальным минимумом. Нас интересует в данном
случае лишь сама процедура поиска X = (X1,…,Xn), такого, что f (X) = 0.
Предположим, что f — функция двух действительных переменных,
поверхность отклика изображена на рис. 3.
Искомой является точка X = (Х1,Х2). Поиск можно начать с любой
произвольной точки Х^0, которую называют нулевым приближением.
f (Х^0) = f (X1^0, Х2^0) = 0. Поверхность уровня, соответствующая точке
Х^0,— совокупность точек (X/f (X) = 0}. В данном случае — это замкнутая
кривая, «опоясывающая» поверхность отклика на высоте 0 над началом
координат.
grad f (Х^0) также изображен на рис. 3: это вектор, направленный по
нормали к поверхности уровня (в данном случае — перпендикулярно
касательной а, b к линии уровня) и в сторону возрастания f (Х1, Х2).
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
4 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Таким образом, вычислив grad f (X^0), мы тем самым находим
направление движения, ведущее к искомому X.
В данном случае, так как мы ищем минимум, необходимо двигаться в
направлении, противоположном направлению градиента. Мы можем
двигаться до тех пор, пока не пересечем поверхность и не попадем в
некоторую точку X^1, являющуюся первым приближением. Причем f (X^1)
< f (Х^0). Здесь мы снова вычислим grad f (X^1) и продолжим движение до
точки X^2, являющейся вторым приближением (она не изображена на рис. 3),
и т. д.
Итак, мы получим последовательность приближений Х^0, X^1,
X^2,…X^k, причем f (Х^0) > f (X^1) >...>f (X^k).
Посмотрим теперь на плоскость X10X2 сверху (рис. 4). Точки Х^0 и
X^1 являются концами векторов, началом которых служит начало
координат. Рассматривая Х^0 и X^1 как векторы, мы можем записать; X^1 =
Х^0 - i grad f (Х^0).
В общем виде всякая р + 1—е приближение Х^(p+1) выражается
через p-e приближение Х^p и градиент в точке X^p следующим векторным
уравнением: Х^([p+1) =
Х^P
— p grad f (Х^p), оно и есть основное
уравнение, на котором строится всякий градиентный поиск.
Вообще существует несколько различных вариантов градиентного
метода поиска, причем разница между ними в том, что в разных способах
по-разному определяются величины p.
В методе наискорейшего спуска, как уже отмечалось, p выбирается таким образом, чтобы f (Х^(p+1)) лежало на пересечении
поверхности отклика и вектора —p grad f (X^p).
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
5 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Для иллюстрации сказанного рассмотрим следующий условный
численный пример.
Пусть
f(X1,X2) = 1/X1 + X1^2 +1/X2 + X2 и D = [0,01;
10][0,01; 10].
Grad f(X1,X2) = fe1/X1 +fe2/X2 = (-1/X1^2 + 2X1)e1 + (-1/X2^2
+1)e2.
Пусть Х^0 = (5; 5)  D grad f (Х^0) = 9 24/25e1 +24/25e2.
Выберем 0 = 3 и найдем X^1 = Х^0 — 3 grad f (Х^0) = 5е1 + 5е2
– 3*9 24/25e1 – 3 24/25e2  - 24e1 = 1 1/25e2. Точка X1 = (- 24; 26/25) D, так
что величина 0 = 3 не может нас удовлетворять. Примем 0 = 0,5. Тогда
X^1 = Х^0 - 0,5 grad f (X^0) = 0,02e1 + 4,62е2.
Однако мы удалились от искомого минимума, а не приблизились к
нему. Действительно:
f (X^0) = 1/5 + 25 + 1/5 + 5 = 31 < f (X^1) = 50 + 0,0004 + 1/ 4,62 
Итак, при 0 = 0,5 мы «проскакиваем» минимум. Положим 0 = 0,1.
5,5.
Тогда
X^1 = 5e1 + 5e2 – 0,1*249/25e1 – 0,1*24/25e2  4e1 +4,9e2.
F (X^1) = ¼ + 16 + 1/ 4,9 + 4,9  20 < f (X^0) = 31
Таким образом, первое приближение найдено. Вычисления,
связанные с нахождением следующих приближений, не требуют пояснений:
Grad f (X^1) = (- 1/16 + 8)e1 + (_1/25 + 1)e2; 1 = 0,1.
X^2 = 4e1 +4,9e2 – 0,1*7 15/16e1 – 0,1*24/25e2 + 4,8e2;
F (X^2) = 1/ 3,2 + 10,24 + 1/ 4,8  15.
grad f (Х^2) = (- 1/10 + 6,4)e1 + (-1/21 + 1)e2 = 6,3e1 + 20/21e2;
2 = 0,2. X^3 = 3,2e1 + 4,8e2 – 1,2e1 – 0,2e2 = 2e1 + 4,6 e2;
f (X^3)  10.
grad f (X^3) = (- ¼ + 4)e1 + (- 1/20 + 1)e2 = 3 3/4e1 + 19/20e2;
3 = 0,4. X^4 = 0,5e1 + 4,2e2. f(X^4)  7.
grad f (X^4) = 0, e1 + 15/16e2. 4 = 3. X^5 0,5e1 + 1,4e2; f (X^5) = 4;
grad f (X^5) = 0, e1 + 0,8e2. 5 = 1. X^6 = 0,5e1 + 0,6e2; f (X^6)  4.
Итак, нами получено приближенное решение X = X^6 + (0,5; 0,6).
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
6 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
2) Метод оврагов.
«Метод оврагов применим для поиска экстремума хорошо
организованная
функции»,
т.е.
такой
функции
у
которой
все
множество(X1,…Xn) независимых переменных может быть разбито на две
группы. Первая группа (она включает в себя почти все эти параметры)
состоит из тех аргументов, изменения которых приводят к значительному
изменению значения f. Поэтому отбор значений этих параметров (мы назовем
их несущественными) производится сравнительно просто и быстро. Вторая
группа параметров включает в себя небольшое (например, один, два или три)
число переменных. Эти переменные могут сами являться рабочими
параметрами из числа Х1,..., Хn или чаще являются их функциями.
Изменение переменных второй группы (существенных переменных) приводит
к относительно небольшому изменению значений оценочной функции. Число
существенных переменных назовем размерностью оврага».
Разбиение параметров на существенные и несущественные производится автоматически, в процессе самого поиска.
Процедура поиска заключается в следующем: «Сначала выбирается
произвольная точка Х0. Из этой точки производится спуск по градиенту (или
каким-либо другим локальным методом). Такой спуск продолжается до тех
пор, пока относительное уменьшение превосходит некоторую заранее
фиксированную
величину ,
называемую
градиентной
пробой.
При
пользовании методом оврагов локальный спуск следует производить грубо,
выбирая величину  относительно большой (например,  = 20%). Дело в
том, что как только локальный поиск перестает сколько-нибудь существенно
понижать значение f, мы попадаем в такую область, где переменные первой
и второй групп становятся равноправными, т.е. где функция перестает быть
хорошо организованной. Поэтому при продолжении локального спуска мы,
не продвигаясь сколько-нибудь заметно по существенным переменным, будем
беспорядочно блуждать, изменяя переменные несущественные. (Собственно
говоря, в этом и состоит причина малой эффективности локальных методов
поиска.)
Итак, пусть градиентный спуск привел нас в точку а0, после этого
выбирается точка X1 в окрестности точки Х0 на расстоянии, существенно
превышающем шаг градиентного спуска (например, в каком-нибудь
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
7 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
направлении, перпендикулярном к градиенту). Из точки X1 производится
локальный спуск в точку а0. После того, как точки а0 и а1 получены, точка
X2 находится при помощи так называемого шага по оврагу. Точки а0 и а1
соединяются прямой, на которой и выбирается точка X2 на расстоянии L от
а1, называемом длиной овражного шага.
Для хорошо организованных функций эта длина выбирается
значительно
больше
величины
градиентного
шага.
Овражный
шаг
выбирается экспериментально. Его величина в большой мере определяет
качество поиска: при фиксированной величине L мы «переваливаем через
небольшие хребты» и «огибаем высокие горы». Эти масштабы и
определяются величиной овражного шага.
После того как точкаX2 выбрана, производится градиентный спуск
в точку a2; точка X3 выбирается по точкам а1 и а2 так же, как выбиралась
по точкам а0 и а1 точка X2, после чего процесс повторяется».
После того как точка X^2 выбрана, производится градиентный
спуск в точку а^2; точка X^3 выбирается по точкам а^1 и а^2 так же, как
выбиралась по точкам а^0 и а^1 точка X^2, после чего процесс повторяется».
3. Методы сведения условно-экстремальных задач к
задачам поиска безусловного экстремума
1) Метод множителей Лагранжа
Метод множителей Лагранжа применим в тех случаях, когда D =
{XЕ^n/g1(X) = 0,..., gm (X) = 0}, где g1,..., gm - действительные функции и
т < п.
Пусть f : Е^n  Е^1. В этом случае задача max (min) f (X) сводится
к задаче max (min)  (X*), если положить Х* = (Х1,..., Хn, 1,…m) и
m
 (X*) = f (X) + jgj(X).
j=1
Для поиска значений Xi, i = 1,...,n, j, j = 1,...,m, доставляющих 
(X*) экстремальное значение, можно применить любой из методов,
описанных выше.
Например, оптимальный план можно найти как решение системы т
+ п уравнений с т + п неизвестными:
(X*)/j = gi(X)=0, j=1,…m;
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
8 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
(X*)/Xi=0, i=1,…,n.
Метод множителей Лагранжа имеет широкую область применения
главным образом потому, что множители Лагранжа служат удобным
средством для анализа условно-экстремальной задачи.
Они выражают ту «долю приращения» целевой функции, которую
можно
получить,
давая
некоторое
малое
приращение
в
заданном
ограничении.
Действительно, условие gj (X) = 0 можно заменить на gj^(X)= = bj,
положив, если это необходимо, bj = 0. Тогда /bj= i, так что i есть
«скорость изменения»  в зависимости от изменения bj.
В конкретных задачах множители Лагранжа имеют важные
содержательные интерпретации.
В экономико-математических моделях  интерпретируются как
цены оптимального плана или объективно обусловленные оценки.
С вычислительной же точки зрения метод множителей Лагранжа
практически не имеет преимуществ перед методом подстановки. Мы всегда
можем, исходя из условий gj (X)=0, j= 1,..,m, исключить т переменных и,
таким образом, исходную условно-экстремальную задачу от п переменных
свести к задаче на безусловный экстремум от п — т переменных.
2) Метод штрафных функций.
Метод штрафных функций позволяет свести задачу
f(X)max,
gj (X) <=0; j=1,…,m, xE^n
к задаче на безусловный экстремум.
Здесь возможны ограничения в форме неравенств, следовательно,
условие
т<п
не
является
обязательным;
f
и
gi
предполагаются
действительными функциями.
Идея метода в том, чтобы с
помощью штрафной функции 
(g1(X),..., gm(X)) свести задачу (1) к задаче поиска экстремума функции f - 
без ограничений.
Штрафная функция должна обладать следующими свойствами:
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
9 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
а) если X  D = (X  E^n/gi (X) < = 0, j = 1,..., m), то  (X) близка
или равна нулю;
б) если X  D, то  (X) принимает большие значения, т. е.
 (Х1)>  (Х2), где X1D\/X2D.
Подбор штрафной функции, удовлетворяющей условиям а) и б),
может быть более или менее удачным. Здесь не имеет смысла вводить
какие-либо численные критерии оценки свойств штрафной функции.
Штрафная функция может иметь, например, вид:
 (X) = l^k(g1(X)+…+gm(X)) или

(X) = 1^k1g1(x)+
... +
l^kmgm(X)и т.п.
Идея метода в том, чтобы с
помощью штрафной функции 
(g1(X),..., gm(X)) свести задачу (1) к задаче поиска экстремума функции f - 
без ограничений.
Штрафная функция должна обладать следующими свойствами:
а) если X  D = (X  E^n/gi (X) < = 0, j = 1,..., m), то  (X) близка
или равна нулю;
б) если X  D, то  (X) принимает большие значения, т. е.
 (Х1)>  (Х2), где X1D\/X2D.
Подбор штрафной функции, удовлетворяющей условиям а) и б),
может быть более или менее удачным. Здесь не имеет смысла вводить
какие-либо численные критерии оценки свойств штрафной функции.
Штрафная функция может иметь, например, вид:
 (X) = l^k(g1(X)+…+gm(X)) или

(X) = 1^k1g1(x)+
... +
l^kmgm(X)и т.п.
4.Граничные
максимумы
и
минимумы
(линейное
программирование и его обобщения).
Как известно, задача линейного программирования имеет вид:
CXmax; AX<=B; X>=0,
где X, С  Е^n, В Е^m; А — матрица размера mп. Метод решения этой
задачи впервые был найден советским математиком Л. В. Канторовичем и
назван им методом разрешающих множителей. Л. В. Канторович впервые
показал важность этой задачи для приложений в экономике, а также
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
10 из 44
УлГТУ
факультет ИСТ
рассмотрел
некоторые
важные
кафедра ВТ
обобщения
и
модификации
задачи.
Впоследствии были предложены и другие методы: симплекс-метод,
двойственный симплекс-метод и т. д., направленные на решение общей
задачи линейного программирования, а также методы решения некоторых
модификаций и обобщений этой задачи: задач блочного, параметрического,
стохастического и нелинейного программирования.
Одна из важнейших особенностей всех названных задач, на основе
которой строятся все или во всяком случае подавляющее большинство
методов их решения, состоит в том, что экстремум в этих задачах является
граничным, т. е. max D  д D (здесь д — граничный оператор).
В экономических исследованиях линейное программирование
занимает
особенно
важное
место.
Ему
посвящена
многочисленная
литература. Поэтому мы не будем подробно останавливаться на этих
вопросах и ограничимся тем, что приведем формулировку алгоритмов
симплекс-метода, и численный пример, иллюстрирующий их применение, и
упомянем некоторые методы решения отдельных условно-экстремальных
задач, служащих модификациями или обобщениями задачи линейного
программирования.
Алгоритмы симплекс-метода включают правила модифицированных жордановых исключений, правила выбора разрешающего элемента
при отыскании опорного решения (т. е. решения, являющегося вершиной
симплекса D = (X  Е^n/АХ <=B, X >= 0)) и правила выбора разрешающего
элемента при отыскании оптимального решения. При этом предполагается,
что задача линейного программирования представлена в некоторой
«канонической форме».
Важнейшими обобщениями задачи линейного программирования
служат
параметрическое
программирование,
стохастическое
программирование, дискретное программирование.
Методы решения задач параметрического программирования
основываются на решении общей задачи линейного программирования и
позволяют разбить область изменения параметра на ряд участков. При
любом значении параметра в пределах одного участка оптимальным
является один и тот же план.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
11 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Имеется множество разнообразных методов решения задачи
дискретного программирования: различные модификации метода отсечения,
комбинаторные методы – метод ветвей и границ, и др.
Другие важные обобщения задачи линейного программирования
имеют
целью
учесть
программирования:
нелинейность.
выпуклое
Это
задачи
программирование,
нелинейного
квадратичное
программирование, кусочно-линейное программирование. В ряде случаев
для решения этих задач получены численные методы решения.
В самое последнее время предложен эффективный метод решения
нелинейных задач, в которых целевая функция и ограничения имеют вид
полинома с конечным числом членов, определенного на внутренности
положительного
ортанта
конечномерного
евклидова
пространства
(позином). Этот метод назван геометрическим программированием.
5.Методы поиска экстремума в функциональных
пространствах (вариационное исчисление и его обобщения).
Задача вариационного исчисления поиска безусловного экстремума
есть задачаmax (min)f(Y). Практически чаще всего рассматриваются
условно-экстремальные задачи вариационного исчисления. Пусть D –
множество тех функций Y и A которые принимают в X1 и X2 некоторые
заданные значения, иначе говоря D – (Y (X)A/Y (X1)= a; Y(X2) = b.)
Для того, чтобы сформулировать необходимые и достаточные
условия экстремума, требуется вначале ввести понятие вариации. Вариация
функции Y(x) есть функция  Y, которая
каждому XЕ1 ставит в
соответствие  (Y(X)) = Y*(X) – Y(X) Фактически вариация – это просто
некоторая функция, подобно тому как дифференциал dX действительной
величины X есть некоторое число dX, так что XЕ1и dXE1.
Если функции Y(X),  Y дифференцируемы, то
 Y =  dY/dX = d/dX ( Y) = dY* (X)/dX = Y* (X ) - Y(X).
Приращение (Y) =f(Y +  Y ) – f(Y) характеризует поведение
целевой функции f в точке YА.
В свою очередь  F  F ( F – линейное приближение приращения
 F). Так что  f (Y)  S  F (Y,Y,X)dX.nnnnn
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
12 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Необходимое условие экстремума - S  F (Y,Y,X)dX=0.
 F (Y,Y,X)dX = dF/dY * Y + dF/d Y *  Y. S  F (Y,Y,X)dX = S
(dF/dY * Y + dF/d Y *  Y)dX.
Слагаемое S(dF/d Y *  Y)dX проинтегрируем по частям: dF/d Y =
u, d Y dX dv Отсюда v = S Y dX = S d/dX=  Y.
Поэтому, а также из того, что S udv =uv – S vdu, получим:
S(dF/d Y) dX = (dF/d Y*  Y)| - S Yd(dF/d Y).Отсюда S  F
(Y,Y,X)dX = dF/d Y*  Y)| + Sd(dF/d Y* Y)dX - S Yd(dE/d Y) = dF/d
Y* Y| - S (d/dX(dF/d Y) - dF/d Y)  YdX = 0
Основная лемма вариационного исчисления гласит : если (Х –
функция непрерывная на ограниченном интервале (Х1,Х2) и S  (X)g(X)dX
= 0 для каждой функции g (X) имеющей непрерывную производную и
обращающуюся в нуль в точках Х1 и Х2, то f (X)0 на (X1,X2)). Решая
уравнение Эйлера, находим искомую экстремаль, т.е. функцию, служащую
решению рассматриваемой вариационной задачи.
Описанный метод имеет практические приложения, которые вполне
можно отнести к области экономики. В частности, с помощью этих методов
может
быть
рассчитан
режим
работы
двигателя
самолета,
максимизирующий дальность полета. Коль скоро экономия топлива есть
экономический фактор, служащий здесь целевой функцией, имеются все
основания считать эту задачу экономико-математической.
Б. Методы поиска экстремума, применимые в
случаях, когда D и f заданы алгоритмически.
6. Детерминированные методы одномерного поиска
Методы поиска экстремума, применимые в случаях, когда D и f
заданы алгоритмически, строятся на осуществлении симуляций и поэтому
могут быть названы «методами симуляций».
Существует несколько различных и достаточно
эффективных
методов одномерного поиска: метод дихтомии, метод Фибоначчи, правило
золотого сечения, поиск по дискретным точкам и другие. Мы рассмотрим
здесь только метод дихтомии, достаточно эффективный и простой.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
13 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Предположим, что требуется найти
max f(X). Для того, чтобы
сузить интервал, содержащий точку искомого оптимума, необходимо
осуществить минимум две симуляции. Действительно, если мы выберем
некоторый элемент из (Х,Х*), припишем ему номер 1, осуществим
симуляцию и найдем p (1) = f (X1), то из этого, однако, нельзя заключить,
где находится искомый максимум – в интервале (X, X1) или в интервале
(X1, X*), так что весь интервал (Х,Х*) остается областью возможного
расположения экстремума.
Выберем теперь два элемента Х1<Х2 из (Х,Х*) и найдем p (1) = f
(X1) и p (2) = f (X2). Предположим, оказалось, что р2>р1. Длину интервала
(Х,Х*) обозначим через 1 до размеров  ½.
Далее , в полученном интервале снова выберем пару точек (Х3,Х4),
расположенных вблизи от центра полученного интервала и с расстоянием
между ними, равным , и т.д.
Действуя таким образом, мы за N симуляций сократить исходный
интервал до размера -N/ 2^2 + (1 - (-N)/ 2^2) .
7.Детерминированные методы многомерного поиска.
Рассматриваемые в этом параграфе методы симуляции применимы
в случаях, когда универсум А есть конечномерное евклидово пространство
Е^n. Область допустимых планов D задана аналитически. Чаще всего она
представляет собой прямоугольник. При этом каждая компонента Xi вектора
X  E^n принадлежит интервалу (Хi, Xi*). Таким образом, D = П (Хi, Xi*);
(i =1,…n ). Однако это вовсе не обязательное условие.
Целевая
функция
f
–
действительная
функция,
заданная
алгоритмически с помощью симулятора р.
В этом случае, методы симуляции
конечную
совокупность
пронумерованных индексом
элементов
определяют
Х1,Х2,…,Хe,….,Xn
е  (1,2,…n),
некоторую
из
D,
число n и способ выбора
некоторого Хе в качестве приближенного решения задачи max f (X), XD.
При этом f (Xе) = р(е).
1) Метод наискорейшего подъема.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
14 из 44
УлГТУ
факультет ИСТ
Пусть
D
–
прямоугольник
плоскости
кафедра ВТ
Х1ОХ2.
Выберем
произвольную точку Х1 = (Х1^1, X2^2) из D найдем р(1) = f (X^1). Далее
выберем еще две любые точки X^2 = (X1^2, X2^2) и X^3 = (X1^3, X2^3) из
D, расположенных вблизи Х1 и не лежащих с ней на одной прямой. Найдем
р(2) = f (X^2) и р(3) = f(X^3). Через три точки мы можем провести
плоскость. Для этого достаточно решить систему линейных уравнений:
f(X^1) = m1 + m2X1^1 + m3X2^1
f(X^2) = m1 + m2X1^2 + m3X2^2
f(X^3) = m1 + m2X1^3 + m3X2^3
и найти m1, m2, m3.
Плоскость, описываемая уравнением Y = m1 + m2X1 + m3X2,
можно с известной степенью приближения рассматривать как касательную
плоскость к поверхности отклика f(X) в точке X1, а величины m2 и m3 как приближения для частных производных df/dX1 и df/X2 в точке Х1 =
(Х1^1, X2^2). Выбрав некоторое  , найдем затем координаты точки,
которой припишем четвертый номер:
X1^4 = X1^1 + m2,
X2^4 = X2^1 + m3,
Далее в окрестности X^4 = (X4^4, X2^4) выбираем две любые, не
лежащие на одной с X^4 прямой точки X^5 и X^6 и находим f(X^4) = p (4);
f(X^5) = p (5); f(X^6) =  (6).
Снова составляем систему уравнений, решаем ее и находим числа
m2^1 и m3^1, приближенно выражающие df(X)/dX1 и df(X)/dX2
в точке
Х4 и позволяющие определить направление дальнейшего движения.
2) Метод исключения касательными к линии уровня.
Снова будем рассматривать лишь двумерный случай. Пусть m1, m2
и m3 – числа, найденные в 7.1. Перенесем начало координат в точку (X1^1,
X2^1).
Перенос осуществим параллельно, и пусть Y1 и Y2 -
новые
координаты.
Нетрудно видеть, что уравнение
m2Y1 + m3Y2 = 0
есть уравнение касательной к линии уровня поверхности отклика
f(X) в точке X^1.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
15 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
8. Методы случайного поиска.
Всякий детерминированный метод поиска представляет собой
систему алгоритмов, которая однозначно предполагает систему действий в
зависимости от сложившейся процессе поиска ситуации.
Случайные методы поиска направлены на решение той же
детерминированной задачи max f (X), где Х  D, что и рассмотренные ранее
в этой главе детерминированные методы,
однако действия здесь не
определяются сложившейся ситуацией, а
осуществляются случайным
образом.
Достоинства рассматриваемых здесь методов в том, что они обычно
оказываются применимыми как в тех случаях, когда D задано аналитически,
а f
алгоритмически, так и в тех случаях, когда D и
f
заданы
алгоритмически.
1) Гомеостатический принцип случайного поиска
Гомеостатический принцип случайного поиска состоит в том,
чтобы, осуществляя случайные «бросания точки» в область D, попасть  
D. Рассмотрим некоторые особенности этого метода . Здесь бросание
следует осуществлять так, чтобы вероятность попадания в некоторую
подобласть D была пропорциональна объему этой подобласти, т.е. закон
распределения должен быть равномерным.
В соответствии с этим вероятность попадания в  за одно бросание
равна отношению объемов области D и области . Если D и  - n-мерные
сферы радиусов р^c и r соответственно, то отношение объемов D и ,
выражающие вероятность Р попадания в  за одно испытание, будет таким:
(r/p)^n.
Важнейшее достоинство гомеостатического принципа – он не
накладывает никаких ограничений на свойства области D и функции f. В
частности, f может быть многоэкстремальной.
2) Случайное блуждание.
Основная идея случайного блуждания состоит в следующем.
Предположим, что мы нашли некоторый допустимый план X^1  D. Пусть
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
16 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
f(X^1) = ^1, X^2 - некоторый другой допустимый план и Х^2 – X^1 = X^1
– вектор той же размерности, что и X^1 и
X^2. Итак, если исходным
пунктом поиска является некоторый план X^1, то процедура поиска состоит
в случайном выборе компонентов вектора X^1i, i = 1,….,q.
Далее если приращение X^1 эффективно, то в направлении этого
приращения осуществляется такой же шаг, т.е. полагается X^2 = X^1.
Если X^2 снова эффективно, то продолжается дальнейшее движение в том
же направлении: полагается X^3 = X^2 и т.д. до тех пор, пока приращение
становится не эффективным или пока оно не приводит на границу области
D.
Когда приращение перестает быть эффективным, осуществляется
случайный поиск нового приращения.
Если случайный поиск приращения обозначить символом , то
описанный алгоритм случайного блуждания можно записать так:
X^(j+1) = ,
если f (X^j + X^j)>= f(X^j);
X^j, если f (X^j + X^j)<(X^j).
(предполагается, что f(X)min).
3) Алгоритмы поощрения случайностью.
«…
Часто
бывает
целесообразно
применять
алгоритм
с
«поощрением» случайностью. В этом алгоритме отрицательная реакция на
неудачу заключается в регулярном «исправлении» положения, т.е. каждый
раз принимаются меры , чтобы устранить последствия неудачи».
Если f(X)min, то
неудача на шаге j (обозначим ее R-) имеет
место, когда f (X^j + X^j)>= f(X^j). В противном случае возникает удача,
которую обозначим R+.
Тогда «…алгоритм можно записать в следующем виде:
X^(j+1) = ,
при R+;
f (X^j) при R-.
4) Алгоритмы самообучения.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
17 из 44
УлГТУ
факультет ИСТ
Алгоритмы
самообучения
-
кафедра ВТ
это
способы
перестройки
статистических свойств оператора , основанных на предыстории поиска.
«Будем различать виды самообучения в зависимости от закона
обратной связи по самообучению. Назовем  - самообучением такой способ
перестройки вероятностных свойств оператора , при котором принимаются
меры по уменьшению вероятности появления отрицательной реакции R-.
Этот вид самообучения имеет ярко выраженный характер отрицательной
обратной связи, т.е. снижается вероятность действия приводящего к
нежелательному
результату.
Такой
негативный
вид
самообучения
молчаливо опирается на предположение, что уменьшение вероятности
неудачного шага ведет к увеличению вероятности удачи впоследствии.
Другой вид самообучения будем называть  - обучением. Оно
связано с таким изменением вероятностных свойств оператора , при
которых увеличивается вероятность удачи. Это самообучение является, как
видно, положительной обратной связью, увеличивающей вероятность
действия, которое привело к желательному результату».
«Как видно, введение самообучения делает процесс поиска
адаптирующимся
к
изменяющейся
обстановке.
Поэтому
поиск
с
самообучением следует отнести к адаптационным видам поиска».
Гл. 2 Случайные факторы в аналитических
моделях.
Напомним, что математическая модель ЭО называется алгоритмической или симультативной, если определяемое этой моделью множество
допустимых планов D и (или) целевая функция f задаются алгоритмически.
Если же D и f задаются аналитически, то модель называется аналитической.
Как было отмечено в вводной главе, в настоящее время определились
три основные проблемы, связанные с применением математических методов в
планировании: проблема учета нелинейности, проблема учета дискретности и
проблема учета случайности (случайных факторов).
Нелинейность и дискретность порождают в основном вычислительные проблемы, связанные с тем, что нелинейные связи, как и дискретные
переменные, делают неприменимыми наиболее эффективные методы поиска,
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
18 из 44
УлГТУ
такие,
факультет ИСТ
например,
как
симплекс-метод
кафедра ВТ
решения
задач
линейного
программирования.
В ряде случаев нелинейную задачу можно представить как
дискретную и с известным приближением считать проблему нелинейности
частью проблемы дискретности.
В отличие от этого проблема учета случайных факторов характерна
тем, что здесь возникают не только вычислительные, но и методологические
вопросы. Дело в том, что наличие случайных факторов делает оптимальный
план нереальным и возникает необходимость определить некоторый другой
план, называемый решением стохастической задачи. Кроме того, остаются
вычислительные проблемы, связанные с поиском решения стохастической
задачи.
Проблемы учета нелинейности, дискретности и случайности имеют
различное содержание в зависимости от того, является ли модель
алгоритмической или аналитической. Это порождает деление экономикоматематических моделей планирования на классы, обозначенные цифрами в
табл. 1.
Попытаемся коротко охарактеризовать каждый из этих классов.
К I классу относятся аналитические модели, учитывающие нелинейность. Исследованию
моделей
такого рода посвящен
довольно
интенсивно разрабатываемый раздел прикладной математики — нелинейное
программирование. Основные работы в этой области направлены на
исследование и разработку вычислительных методов решения нелинейных
задач. Одна из разновидностей нелинейного программирования, например,
выпуклое программирование. Важнейшими успехами в этой области явилось
создание
динамического
программирования
и
принципа
максимума
Понтрягина. К тому же классу следует отнести модели кусочно-линейного
программирования,
выпуклого
программирования
и
параметрического
программирования, а также модели, позволяющие применять для поиска
оптимального
плана
методы
Кротова,
Дубовицкого
и
Милютина,
геометрическое программирование.
Исследованию моделей II класса посвящено дискретное программирование, которое мы подробно рассмотрим в гл. 3.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
19 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Модели, образующие III класс, исследуются стохастическим
программированием.
математического
Это
сравнительно
программирования,
в
слабо
разработанный
котором
имеется
раздел
несколько
разрозненных постановок задач, причем каждая из них путем некоторых
преобразований сводится к детерминированной.
К IV классу относятся модели, в которых одновременно учитывается
и дискретность переменных, и нелинейность связей между ними. В данной
области в последнее время проведен ряд исследований.
Модели V класса учитывают нелинейность и случайность. Эти
модели, как и классов VI и VII, остаются почти не исследованными.
Попытаемся коротко охарактеризовать классы симультативных
моделей. Учет нелинейности и дискретности здесь не вызывает каких-либо
осложнений, так что VIII, IX и XI классы несущественно различаются между
собой.
Здесь
возникают
главным
образом
вопросы,
связанные
с
эффективностью этих методов и их точностью. В 2,2 мы рассмотрим
важнейшие особенности симуль-тативных моделей этих классов и приведем
их обзор. Симультативным моделям, учитывающим действие случайных
факторов, т. е. моделям X, XII, XIII и XIV классов, посвящен ЭС-метод].
Изложению ЭС-метода посвящена гл. 4. Примеры моделей X, XII, XIII и
XIV классов содержатся в гл. 5.
Цель настоящей главы — рассмотреть некоторые важнейшие
вопросы, связанные с учетом случайных факторов в аналитических моделях,
и
рассмотреть
особенности
алгоритмических
моделей.
Причем
в
алгоритмических моделях наибольшая сложность состоит в том, чтобы
уяснить, что эти модели и методы симуляции в действительности не
учитывают случайных факторов.
В настоящей главе будут рассмотрены главным образом те
методологические вопросы, которые необходимы для выяснения важнейших
черт и особенностей ЭС-метода.
1. Случайные факторы в аналитических моделях
Модели планирования, учитывающие действие случайных факторов,
делятся на два класса: модели планирования в условиях риска и модели
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
20 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
планирования в условиях неопределенности. В соответствии с принятой
терминологией к планированию в условиях риска относятся задачи, в
которых законы распределения случайных величин известны. Если же
законы распределения неизвестны, то задача относится к классу задач
планирования в условиях неопределенности.
1) Классы задач стохастического программирования
Изложим коротко, главным образом следуя, основные постановки
задач стохастического программирования.
Пусть требуется найти план X, доставляющий максимум линейной
форме:
(С, X)  mах (1)
(1)
при условиях:
АX < =B,
(2)
X < = 0.
(3)
Прежде
всего
заметим,
что
детерминированную
задачу
планирования можно рассматривать как частный случай задачи планирования в
условиях риска, когда все случайные величины с вероятностью, равной
единице (т. е. достоверно), принимают некоторые заранее известные нам
значения.
Начнем с рассмотрения так называемой жесткой или одноэтапной
задачи стохастического программирования:
А (q)Х < = В (q) для всех q  Q,
Х>= 0.
(4)
«Здесь q — случайный параметр или набор случайных параметров,
определяющий реализацию случайных элементов условий задачи;
Q — множество значений, появляющихся с положительной
вероятностью (множество Q предполагается здесь конечным).
Выбор реализации обычно называют определением состояния
природы, а множество Q — множеством возможных состояний природы.
Жесткая постановка задачи стохастического программирования
требует, чтобы решение принадлежало всем многогранным множествам условий
задачи, которые могут возникнуть с ненулевой вероятностью.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
21 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Пересечение многогранных множеств — реализаций области
определения задачи — может оказаться пустым. В таких случаях жесткая
постановка задачи теряет смысл».
В дальнейшем под задачей стохастического программирования в
жесткой постановке будем понимать задачу поиска вектора X, который
доставляет максимум математическому ожиданию линейной формы:
М (С ( q ) , X)  mах
(5)
при условиях
А (q) X < =В (q ),q  Q ,
(6)
X > =0,
(7)
«При нежесткой постановке процесс решения стохастической
задачи можно представить себе разделением на два этапа. На первом этапе
выбирается
некоторый
неотрицательный
вектор
X,
не
обязательно
удовлетворяющий всем условиям задачи при всевозможных реализациях
случайной матрицы А и случайного вектора В, и в зависимости от невязки
АХ <= В вводится вектор , корректирующий принятые решения.
Возможность корректировки решения снимает трудности в определении
понятия «план стохастической задачи». Стохастические задачи в нежесткой
постановке иногда называют двухэтапными задачами стохастического
программирования».
Важный класс задач стохастического программирования образуют
задачи с вероятностными ограничениями вида:
М (С, X)  mах,
(8)
Р (АХ <= В) > =Р.
(9)
Условия X >= О предполагаются включенными в систему неравенств (9). Здесь векторы С и В, а также, возможно, и матрица А
рассматривается как векторы (и матрица) со случайными компонентами.
Такая постановка означает, что под планом задачи стохастического
программирования подразумевается вектор X, который
обеспечивает
выполнения неравенства  aijXj<=bi (j=1,…,n) с вероятностью Р = Р(
aijXj<=bi (j=1,…,n)) yt меньше заданной величины Pi.
Если все Pi = 1, то задача (8) —(9) совпадает с задачей в жесткой
постановке.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
22 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Указанные задачи стохастического программирования образуют
класс задач с детерминированным планом и решением. В этих задачах под
планом и решением понимаются детерминированные наборы параметров
управления.
Имеются приложения, в которых решение задачи связывается с
конкретными реализациями случайных условий задачи. Здесь план и
решение предстают в виде набора случайных величин. В этом случае
существует некоторое отображение Ф, которое каждый план выражает через
реализации случайных элементов векторов В и С матрицы А и набор
вспомогательных детерминированных параметров D, т. е. Ф (А, В, С, D].
«При такой постановке вычислению подлежит набор Dдетерминированных
параметров
управления...
В
задачах
стохастического
программирования, в которых случайным оказывается только вектор
ограничений, часто оказывается целесообразным связывать план X со
случайной реализацией вектора В линейным соотношением вида:
X =DB,
(10)
где В —искомая матрица... Вычисление случайного вектора X
сводится, таким образом, к вычислению детерминированной матрицыD».
Возможна
игровая
постановка
задачи
стохастического
программирования.
«Задача (1) —(3) со случайными элементами матрицы условий А,
вектора ограничений В и вектора линейной формы С рассматривается здесь
как игра двух лиц с нулевой суммой. Первым игроком является
принимающий решение. Он стремится получить возможно больший средний
выигрыш. Ему противостоит природа, выбирающая свое состояние, исходя
из тенденции свести к минимуму средний выигрыш первого игрока. При
каждом состоянии q природы и выборе X под выигрышем подразумевается
разность соответствующего значения линейной формы задачи и штрафа за
невязку плана:
g(X,А (q), В (q), С (q)) =  Сj (q) Xj -  I(aij(q)Xj – bi(q)) j = 1,…,n.
Здесь  ( у ) , i = 1 , 2 , ..., т —непрерывная неубывающая функция у,
равная нулю при у = 0.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
23 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
2)Признаки задачи стохастического
программирования.
В следующем параграфе мы рассмотрим модели, в которых
«случайность» будет
участвовать в «разных функциях»: будут де-
терминированные задачи, где применяются случайные методы поиска, будут
задачи, в которых вычисления осуществляются с ошибкой, будут задачи, в
которых отдельные ТЭП приближенно находятся на основе статистической
информации о реализациях значений этих ТЭП и др. Тем не менее ни одна
из этих задач не будет задачей стохастического программирования.
Различие между стохастической и детерминированной (-не стохастической) задачами существенно, оно позволяет понять специфику ЭСметода и его отличия от других методов симуляции.
Остановимся подробнее на различиях: обобщая приведенные
постановки
задачи
сформулировать
стохастического
необходимые
программирования и
на их
программирования,
признаки
основе
все
задачи
постараемся
стохастического
экстремальные и
условно-
экстремальные задачи разделим на два класса: стохастические (которые
обладают всеми признаками) и нестохастические (которые не обладают хотя
бы одним признаком) . Все нестохастические задачи мы и назовем задачами
детерминированными.
Начнем с рассмотрения жесткой постановки задачи стохастического программирования:
M (C(q),X)  mах,
A(q) X <= B(q), q Q,
X >= 0.
Прежде всего введем некоторые дополнительные обозначения. Пусть
« — n-мерный вектор, компонентами которого служат компоненты векторов
X, В и С, матрицы А и величина q. В этом случае (С(q), X) = Ф(а) и М ((q),
X) = М ( ()).
Всякий вектор , компоненты которого удовлетворяют условиям q
Q, А (q) X <= В (q), X >= 0, назовем допустимым -планом, а
произвольный n-мерный вектор — -планом. Итак, -план допустим, если 
 D*, где
D* = {   E^n/q Q ,, X >= 0, А ( q ) Х < = В ( q ) } .
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
24 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Все компоненты -плана делятся на две группы. К первой группе
относятся компоненты, являющиеся независимыми случайными величинами, т.
е. величинами, принимающими свои значения независимо от значений других
компонент -плана. В данном случае имеется одна независимая случайная
величина — q.
Ко второй группе относятся величины, являющиеся детерминированными или случайными функциями друг от друга и независи мых
случайных величин. В данном случае все компоненты -плана суть
детерминированные
функции
независимой
случайной
величины
q.
Действительно, всякое фиксированное значение q# из Q однозначно
определяет и .A# = А (q#), и В# = В (q#), и С# = С q#), и, наконец, X# = max
{Х/А#Х<= В#; X >= 0}, где порядок на множестве { Х / А # Х < = В , X >=
0} индуцирован функцией С#Х.
Таким образом, все компоненты -плана — случайные величины.
Из этого следует, что на множестве D* допустимых -планов определена
некоторая вероятностная мера Pd. В данном случае это очевидно. Каждый q#
из Q определяет # == ( С # , В#, А # , Х#, q#).D*. Так как q конечно, то,
вообще говоря, Р (q = q#  0 и Pd (. = #) = Р (q = q#) . (Это верно в
предположении, что все детерминированные функции от q взаимно
однозначны.)
Вероятностная мера Pd определяет некоторую вероятностную меру
P на множестве 0 = { ()/ D* } . Иначе говоря, целевая функция  ()
является случайной величиной, принимающей значения из 0
в
соответствии с законом P. В данном случае Р ( () =  (#) = Р (. = #),
если  () и  ()^-1 однозначны.
Наконец, решение задачи стохастического программирования
определено на основе Pd. В данном случае Pd участвует в определении решения
косвенно: Pd определяет, в частности, законы распределения компонент
вектора С.
Пусть А' и В' — соответственно матрица и вектор, такие, что
выполняется А'Х <= В', X >= 0 только для тех X, которые удовлетворяют А
(q) X <= В (q), X >= 0 для всех q. Иначе говоря, симплекс (XIА'Х <=В'; X
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
25 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
>= 0} получен как пересечение симплексов {XIА (q)Х <= В ( q ), X >= 0}
при разных q, т. е.
{X/А'Х<=В ' , Х > 0 } =
 {XIА(q)Х<=В(q), X>=0},
q Q
Тогда задача
М (С (q), X)  mах,
А ( q ) Х < = В ( q ) , q  Q,
X >= 0
эквивалентна задаче
М (С (q), X)  mах ,
А'Х<=В ' ,
X >=0
с детерминированными ограничениями. Задачи последнего вида
имеют самостоятельное значение. Примером таких задач служит задача о
диете. Эта задача в свою очередь сводится к задаче линейного
программирования:
М (С (q), X)  mах ,
А'Х<=В ' ,
X >=0
Итак, если ограничиться рассмотрением случаев, когда план X и
-план являются конечномерными векторами, можно сформулировать
следующие признаки задачи стохастического программирования:
1) для задачи стохастического программирования может быть
построен -план, компонентами которого являются все изменяемые (не
являющиеся константами) величины;
2) компоненты -плана являются либо независимыми случайными
величинами,
либо
случайными
величинами,
служащими
функциями
(детерминированными или случайными) друг от друга и независимых
случайных величин;
3) существует множество D допустимых -планов, на котором
определена некоторая вероятностная мера Pd;
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
26 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
4) решение задачи стохастического программирования определено
через Pd (прямо или косвенно), и оно не совпадает с оптимальным на D планом.
2. Алгоритмические модели.
Алгоритмические модели находят различные и многочисленные
приложения. Они применяются для моделирования сложных систем — при
их проектировании, а также в целях исследования действующих систем и
отыскания путей их усовершенствования.
Алгоритмические модели применяются и для планирования. Они
могут вовсе не учитывать действия случайных факторов или учитывать их
различными
способами.
Способы
учета
случайных
факторов
в
симультативных моделях являются основной темой этого параграфа.
1) Эвристический и комбинаторный методы
симуляции
Наиболее простым способом использования наиболее простых
симультативных моделей является неформальный эвристический метод
симуляции.
Пусть, например, имеется набор исходных ТЭП Х1, . . ., Хn и
некоторая совокупность алгоритмов р, определяющая способ расчета
значений некоторых результирующих ТЭП Хn+1, ...,Хm по значениям
исходных Х1, . . ., Хn.
Примеров
подобного
рода
детерминированных
симуляторов
чрезвычайно много. В частности, такого рода симулятором является
алгоритм расчета себестоимости продукции Хn+1 по заданным расходам
ресурсов X1, . . ., Хn, алгоритм расчета экономического эффекта, прибыли и
т. д. Каждая сводка правил, определяющих расчет любых показателей
бухгалтерского учета и отчетности, тоже пример таких симуляторов. Любая
симультативная
модель,
если
в
ней
не
присутствуют
случайные
величины,— это также совокупность правил расчета значений ТЭП Хn+1, . .
., Хm по значениям Х1, . . ., Хn.
Неформальная эвристическая симуляция заключается в том, что
некоторый специалист (скажем, заказчик, с которым ВЦ производит расчет)
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
27 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
называет отдельные интересующие его значения Х1, . . ., Хn. При этих
значениях производится расчет и отыскиваются соответствующие значения
величин Хn+1, . . ., Хm. Причем возможно, что заказчик назовет сразу
несколько желаемых комбинаций значений исходных ТЭП или сначала
укажет одну комбинацию, а затем, после осуществления симуляции, укажет
вторую комбинацию и т. п.
Из сказанного ясно, что неформальная эвристическая симуляция
есть вариантный расчет на основе симультативной модели. При этом сама
симультативная модель, будучи представлена в форме программы для
ЭЦВМ, не более чем средство механизации расчетов.
Неформальная эвристическая симуляция преследует скромные цели.
Она не дает возможности выбрать оптимальный вариант.
Нет оснований говорить и об учете влияния случайных факторов.
Все это становится задачей заказчика, которому предоставляется выбирать
любой вариант из континиума возможных вариантов, опираясь при этом
только на собственную интуицию, опыт и т. п. Ясно, что для применения
неформальной эвристической симуляции вовсе не необходимо наличие
какой-либо целевой функции.
Несмотря на отмеченные недостатки, неформальная эвристическая
симуляция все же способна решать важные задачи при разработке и
применении
симультативных
моделей.
Поэтому
неформальная
эвристическая симуляция применяется чрезвычайно широко.
Предположим теперь, что симультативная модель обладает такими
свойствами:
1) имеется набор ТЭП Х1, . . ., Хn, на которые наложены ограничения вида Х I<=. Хi <= Xi*, i = 1, . . ., n;
2) имеется набор ТЭП Хn+1, . . ., Хm и симулятор р. Выбрав любые
допустимые значения Х1^e , . . ., Хn^e ТЭП Х1, . . ., Хn, можно далее с
помощью симулятора найти соответствующие
(X(n+1)^e,…,Xm^e) = p^e;
3)задана целевая функция:
 (Х1, .. ., Хn, Хn+1,. . ., Хm).
Возникает задача поиска оптимального плана, удовлетворяющего
условиям задачи и доставляющего целевой функции максимум (или
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
28 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
минимум). Эта — задача оптимального планирования, которая не
учитывает влияния случайных факторов, То, что здесь случайные факторы не
учитываются, не требует доказательств или пояснений и очевидно из самой
постановки задачи.
«Привлечение случайности» как средства решения этой задачи
составляет содержание формальной эвристической симуляции.
Комбинаторная симуляция заключается в полном переборе всех
допустимых планов. Такой метод применим, разумеется, лишь тогда, когда
множество допустимых планов конечно. Этот метод симуляции применяется
обычно в сочетании с методом стохастической симуляции.
2) Стохастический метод симуляции.
Рассмотрим
следующий
пример.
Предположим,
необходимо
построить порт, причем имеется возможность построить один, два или три
причала. Мы хотим построить такое количество причалов, которое обеспечит
наименьший срок окупаемости затрат на строительство. Предположим также,
что сметные стоимости затрат на строительство одного, двух и трех причалов
известны.
Как может быть решен вопрос о количестве причалов с помощью
симультативной модели?
Исходя из прогнозов и экспертных оценок, можно установить закон
распределения вероятностей поступления судов, иначе говоря, можно
установить вероятность того, что в течение одного часа не поступит ни
одного судна, вероятность того, что поступит одно судно, два судна и т. д.
На основе принятых норм можно определить, сколько времени
занимает разгрузка одного судна. Можно установить, кроме того,
приоритеты судов: скажем, суда с некоторыми наиболее срочными грузами
обслуживаются в первую очередь, а остальные — в порядке поступления.
Имея эти данные, с помощью датчика случайных чисел можно
имитировать поступление судов и, накопив таким путем достаточную
статистику, вычислить длину очереди, среднее время ожидания судов и
другие характеристики.
Далее, зная величину потерь, связанных с простоем судна, а также
расходы на его обслуживание, мы сможем вычислить и срок окупаемости.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
29 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Производя такие расчеты в предположении, что есть лишь один
причал, затем в предположении, что есть два причала, и, наконец, в
предположении, что есть три причала, найдем сроки окупаемости для всех
трех интересующих нас случаев. После этого, непосредственно сопоставляя
между собой найденные сроки окупаемости, можно установить, какое
количество причалов следует строить.
Приведенное весьма упрощенное и схематизированное изложение
модели вполне достаточно для наших целей. Из сказанного видно, что в
модели присутствуют и в явной форме учитываются случайные величины.
Действительно, число поступающих в единицу времени судов — случайная
величина и значение ее имитируется с помощью датчика случайных чисел.
Тем не менее, эта задача принципиально отличается от задачи
стохастического программирования и в соответствии с введенной в 2.1.2
терминологией является детерминированной задачей. Рассмотрим такое
кажущееся парадоксальным утверждение подробнее.
Пусть Х – число причалов, таким образом, Х (1, 2,3); пусть Y – число
судов, поступающих в единицу времени; Y – случайная величина с заданным
законом распределения Py и Z – срок окупаемости.
Значение Z
зависит от значений Py и Х, иначе говоря, срок
окупаемости зависит от количества причалов и от характера поступления
судов. Задача в том, чтобы при заданном Py найти такое Х (1, 2,3), которое
доставляет Z минимум.
Для того, чтобы найти для каждого Х соответствующее Z, необходимо
знать не какую-либо одну реализацию величины Y, а необходимо иметь
некоторую
статистическую информацию, с помощью которой можно
рассчитать
среднестатистические
характеристики
поступления
и
обслуживания судов. Z зависит от количества причалов Х (1, 2,3) и от
функции Py, выражающей распределения Y. Таким образом, Z = f(X, Py), но Z 
f(X,Y).
Если скажем Py отличается от Py тем, что вероятность поступления за 1
час 5 судов равна 0,3, а не 0,4, т.е.
0,3 = Py (Y = 5)  Py(Y) = 0,4, то
Z (1, Py)  Z(1,Py),
Z (1, Py)  Z(2,Py),
Z (3, Py)  Z(3,Py).
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
30 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Итак рассмотренная задача определения оптимального числа причалов при
фиксированном Py есть детерминированная задача max f (X). Здесь симулятор и
симуляции используются для того, чтобы, при каждом допустимом значении Х
приближенно находить соответствующее Z = f(X).
Гл.3 Дискретность переменных в аналитических
моделях.
Дискретные процессы в экономике встречаются почти так же часто,
как и непрерывные, что в значительной степени определяет место и роль
дискретного
программирования
в
экономических
исследованиях.
Моделирование производства станков и машин, приборов и вычислительных
устройств приводит к таким условно-экстремальным задачам, в которых
переменные могут принимать лишь конечное или счетное множество
значений.
Но не только этим определяется роль дискретного программирования. Существует много задач, которые трудно или невозможно решить без
того, чтобы не свести их к задачам дискретного программирования и затем
воспользоваться методами дискретной оптимизации. Этот метод позволяет, в
частности, решить многие условно-экстремальные задачи с сепарабельной
целевой функцией и сепарабельными ограничениями.
Без дискретного программирования невозможно обойтись и во всех
тех случаях, когда требуется учесть в модели какие-либо логические
взаимосвязи.
Сейчас разработано уже много моделей дискретного программирования, имеющих важное теоретическое и практическое значение. К
сожалению,
у
нас
еще
не
налажен
экономический
механизм,
способствующий внедрению результатов таких научных исследований в
практику. Дискретное программирование имеет также большое значение и для
самой математики, в частности для других разделов математического
программирования и математической логики.
Задача дискретного программирования — это условно-экстремальная задача mах f (X) X  D,
где D —дискретное множество или
множество, служащее произведением дискретного множества на некоторые
другие, быть может непрерывные, множества.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
31 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Методы решения этой задачи разработаны только для некоторых
специальных видов дискретных множеств.
1. Дискретные множества и дискретное
программирование.
1) Дискретные множества.
Пусть x X и X  А, пусть S^A — топология в А. Элемент х
множества X есть изолированный элемент этого множества, если в А
существует такое подмножество   S^A, которое содержит элемент х из X и
не содержит более ни одного элемента из X. Из определения следует, что 
 А и   X.  -окрестность называется окрестностью элемента х.
Множество X дискретно, если все элементы множества X изолированы. Итак, X дискретно, если для
 x  X            S^A :   x    x   xx
т. е. если для всех х, принадлежащих X, найдется такое , включенное в А, не включенное в X и открытое в S^A, что из х   следует: x' 
 для всех х' , принадлежавших X и не равных х.
Полигоном для испытания математических определений издавна
служили числовые множества. Не отступая от этих традиций, обратимся к
числовым множителям и мы. Множество целых неотрицательных чисел
обозначим через М = {0, 1,2,...}.
Существует много определений иррациональных чисел. В частности, если определить «число» как конечную или бесконечную
десятичную дробь, то иррациональное число предстанет как бесконечная
непериодическая дробь.
В совокупности рациональные и иррациональные числа образуют
множество R действительных чисел, или числовой континиум. Если в R задана
естественная топология, то множество М натуральных чисел дискретно. В
дальнейшем естественную топологию будем обозначать S^R.
Итак, требуется доказать, что не существует такого   R^R,
которое изолирует точку x множества R' от других точек этого множества.
Пусть х  R' и  — произвольная -окрестность x. Мы всегда можем
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
32 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
разделить -окрестность на две так, чтобы ее каждая часть была открытым
отрезком из S^R и, следовательно, содержала хотя бы по одной точке из R'.
Таким образом, всякая -окрестность содержит не менее двух точек из R, что
в свою очередь означает, что кроме х всякая его окрестность содержит хотя бы
один элемент из R', т.е. R' недискретно.
2) Аналитически заданные множества, служащие
областью поиска в задачах дискретного программирования.
В моделях дискретного программирования множество D задается
аналитически с помощью систем неравенств
g1(X1,…,Xn) <= 0,
(1)
……………………
gm(X1,…,Xn) <= 0
и условий
Xi  Gi, i =1,…,n,
(2)
где хотя бы одно Gi – конечное или подмножество множества
действительных чисел. Пусть f(X1,…,Xn) – целевая функция. (3)
Среди всех модификаций задачи дискретного программирования
более всего изучены и чаще всего применяются задачи линейного
дискретного программирования. Здесь встречаются следующие основные
случаи.
1-й случай — все переменные могут принимать одно из двух
значений: 0 или 1, т. е.
Gi = (0, 1), i = 1,..., п.
(4).
Это же условие записывается так:
Xi = |1;0 или 0<= Xi <= 1, Xi, целое.
Такие переменные называются булевыми, а задача (1) — (3)
при условии (4) называется задачей булевого программирования.
Здесь D является подмножеством конечного множества точек
 = ПGi (i = 1,…,n) п -мерного евклидова пространства Е^n.
2-й случай — все переменные могут принимать любое целое
неотрицательное значение, т. е.
Gi = (0,1,2,...,).
(5)
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
33 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
При этом  является бесконечным, но счетным множеством точек в
положительном ортанте пространства Е^n.
Как уже отмечалось, задачи (1) — (4) и (1)  (3), (5) называются задачами
полностью дискретными. Точно так же полностью дискретной будет задача, если
некоторые переменные удовлетворяют условию (4), а некоторые — условию (5), т.
е.
Gi = (0,1), I = 1,…,m;
Gi = (0,1,2,…), I = m+1,…,n. (6)
В этом случае область  имеет несколько более сложную
структуру. Задачу (1), (2), (3), (6) мы отнесем к задачам, образующим 3-й
случай.
4-й случай — это задачи вида (1)— (4); (1), (2), (3), (5) или (1), (2),
(3), (6), когда условия (4), (5) или (6) наложены не на все переменные. Это
значит, что не все переменные должны принимать только дискретные значения.
В таком случае задача называется частично дискретной. Предположим, что
имеется всего k независимых переменных, а условия вида (4) или (5)
наложены на n переменных, где п < k. Тогда переменные с номерами,
большими п и меньшими k; (всего k — п переменных), могут принимать
любые действительные значения на некотором интервале числовой оси.
При этом множество  является произведением конечного
множества (если имеют место условия вида (4)) или счетного множества
(если имеют место условия (5) или 6)) на множество мощности континиума.
Например, если К = 3 и n = 2, область  ограничена условиями
X1  (0;1);
X2  (0;1);
X3  (0;1).
В этом случае область  имеет вид четырех отрезков прямых линий
длиной в 2 единицы, параллельных оси Х3 (одна из линий на участке [0; 2]
совпадает с осью Х3.
2. Модели дискретного программирования.
1) Классификация моделей.
Имеются три класса задач: 1) задачи с неделимостями; 2) задачи с
ограничениями логического типа; 3) задачи, сводимые к дискретности.
Задачи первого и третьего типов обычно приводят к тому, что переменные
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
34 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
могут принимать только целые неотрицательные значения. Задачи класса 2 и
некоторые задачи класса 3 приводят к булевым переменным.
3) Транспортная задача дискретного
программирования.
Формулировка транспортной задачи, ставшей уже классической,
состоит в следующем.
Имеются М пунктов производства однородного продукта и
N
пунктов его потребления. Пусть объем производства в пункте n (1,…,n) –
an единиц; bm - объем потребления в пункте потребления m  (1,…,M).
Пусть Cmn – стоимость перевозки единицы продукта из пункта n в пункт
m. Задача в том, чтобы найти такие объемы перевозок, которые бы
минимизировали
совокупную
стоимость
перевозок
и
обеспечили
потребности поставщиков в продуктах.
Пусть Хmn — искомое количество продуктов, которое следует
перевести из пункта п в пункт т. Коль скоро нельзя перевозить от
потребителей к производителям, то
Xmn >= 0.
(7)
Количество продукта, которое должно быть перевезено из пункта п во
все М пунктов потребления, должно быть равно объему производства в пункте
п:
 Xmn = an (m=1,…,M)
(8)
Количество продукта, которое следует перевезти из всех N пунктов
производства в пункт потребления т, должно быть равно объему
потребления в пункте т, т. е.
 Xmn = bm (n=1,…,N)
(9)
Здесь область  определена неравенством (7). Это положительный
ортант пространства Е, размерность которого k = NМ.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
35 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Общее число равенств (8) — (9) — М + N а общее число неизвестных — NM. Таким образом, при М, N больше двух число уравнений
меньше числа неизвестных и система равенств (8) — (9) может быть
удовлетворена
бесконечным
множеством
вариантов
положительных
значений переменных, которое и есть множество допустимых планов. Среди
них нужно найти такой, который обеспечивает минимальную совокупную
стоимость перевозок:
  CmnXmn  min (m=1,…,M), (n=1,…,N)
(10)
Соотношения (7) – (10) определяют транспортную задачу.
3) Модель комплектации.
Ситуация, при которой готовая продукция комплектуется из набора
стандартных
блоков,
встречается
довольно
часто.
Унификация
и
стандартизация производства, сопровождающие технический прогресс,
постоянно порождают подобные ситуации.
Пусть Хk — искомое количество хроматографов типа k, которое
предполагаем запланировать. Предположим, что всего имеется К различных
типов хроматографов, таким образом, k = 1, 2, ..., К.
Так как хроматограф — неделимый продукт, то Хk может принимать
значения лишь целые и неотрицательные, т. е. Хk  (0, 1, 2 ...). Пусть (ais —
количество ресурса s, которое необходимо для изготовления одного
экземпляра блока или модуля типа i. Так как общее число модулей и блоков,
установленное в номенклатуре, равно I, то i = 1, 2, ..., I; s —номер
ограниченного
ресурса.
Предположим,
мы
составили
перечень
ограниченных ресурсов и занумеровали их по порядку: s = 1, 2, ..., S. Тогда s
— порядковый номер ресурса, а S — общее число органических ресурсов.
Пусть dik — количество экземпляров блоков или модулей типа i,
необходимое для комплектации одного экземпляра хроматографа типа k.
Наконец, пусть Fk — экономический эффект либо прибыль, или
себестоимость, или полезность — словом, некоторый экономический или
технико-экономический кумулятивный показатель, характеризующий один
экземпляр хроматографа типа k.
Рассмотрим теперь экономический смысл некоторых алгебраических
комбинаций введенных величин:
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
36 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
dik ais — количество ресурса s, необходимое для изготовления
блоков типа i, идущих на комплектацию одного экземпляра хроматографа
типа k;
dikХк — количество блоков типа i, необходимое для комплектации
всех хроматографов типа k;
dikХк — количество блоков типа i,
необходимое для комплек-
тации всех хроматографов типа i;
ais dik Xk — количество ресурса s, необходимое для изготовления
блоков типа i, идущих на комплектацию всех хроматографов типа k;
(k)ais dik Хк — количество
ресурса s, необходимое
для
изготовления блоков типа i, идущих на комплектацию всех хроматографов
всех типов;
(i)dikХк — количество ресурса s, необходимое для изготовления
блоков всех типов, идущих на комплектацию всех хроматографов типа k;
(i)(k)ais dik Хк — количество ресурса s,
необходимое для
изготовления блоков всех типов, идущих на комплектацию хроматографов
всех типов;
Fk Xk— кумулятивный экономический показатель. Для определенности предположим, что это прибыль, которая может быть обеспечена
всеми хроматографами типа k;
Fk Хк — прибыль, которая может быть обеспечена всеми хроматографами всех типов.
Теперь можем рассмотреть соотношения модели комплектации.
Целевая функция имеет вид
(k)Fk Хк  max.
(11)
Как уже отмечалось, в случае минимизации должен быть определен
минимально допустимый выпуск хроматографов каждого типа. Так,
хроматографов типа k; должно быть не меньше, чем Xk, т. е. Xk >= Xk.
При максимизации ограничения вида Xk >= Xk. могут и отсутствовать.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
37 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Если спрос на хроматографы типа k ограничен, т. е. их не требуется
больше, чем Xk*, или если наличие производственных мощностей не
позволяет произвести хроматографов типа k больше, чем Хк*, то Хk <= Хк*.
В общем случае имеем ограничения вида
Xk <= Xk <= Xk*, k = 1,…,K
(12)
Предположим, что блоки или модули типа i выпускаются в
некотором специализированном цехе, производственная мощность которого
ограничена величиной bi*. Иначе говоря, в течение года (квартала или
месяца) мы не можем выпустить блоков или модулей типа i больше, чем bi*,
Это выразится неравенством:
(k)dik Xk <= bi*.
(13)
Вид ограничения (13) не изменится, если блоки или модули типа i
выпускаются
одновременно
в
нескольких
цехах,
совокупная
производительность которых не превосходит bi*.
Помимо ограничений на выпуск хроматографов (12) и ограничений
по наличным производственным мощностям (13) возможны ограничения по
ресурсам. Пусть bs — общее количество ресурса s, которое есть в наличии или
которое поступает на завод в течение года (квартала или месяца).
Предполагая,
что
завод
выпускает
все
комплектующие
блоки
и
хроматографы, найдем:
(i)(k)ais dik Хк <= bi*.
(14)
Соотношения (11) — (14) в совокупности с условием Xk  (0, 1, 2,
...) и образуют модель комплектации.
3) Модель выбора вариантов проектов.
Проектирование — одна из широко распространенных форм
производительной
оборудования,
деятельности.
разработка
Создание
новых
автоматизированных
типов
систем
машин
и
управления
промышленными объектами, разработка приборов и средств автоматизации,
модернизация и расширение производства, строительство предполагают
проведение проектных работ. Поэтому задача выбора вариантов проектов
возникает почти повсеместно.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
38 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Варианты проектов не обязательно объединяются единой целью:
разработка каждого варианта проекта может преследовать свою цель. С
другой стороны, любая совокупность проектов (объединенных общими
ограничениями по ресурсам) может содержать внутри себя любую группу
одно целевых проектов, направленных на решение общей задачи. Между
проемами могут иметься различные логические взаимосвязи: например, один
проект исключает другой, один проект выполняется лишь в предположении,
что выполнен некоторый другой. Наконец, по всей совокупности проектов
могут иметься ограничения по ресурсам.
Величины Vi = 1, ...,I, где Vi — общее наличное количество
ресурса i, а I — число видов ограниченных ресурсов, будем считать
заданными постоянными. Эти величины должны быть представлены в
качестве исходной информации, необходимой для разработки плана. Другая
необходимая информация – значения всех ТЭП, включаемых в план
вариантов проектов. ТЭП выражает размеры требующихся затрат ресурсов
на проведение некоторого варианта проекта и получаемый от него
результат. Всякий ТЭП будем обозначать символом Xij, I = 1,…,I – 1, j =
1,…,J. Xij – количество ресурса I = 1,…,I – 1, необходимого для разработки
варианта проекта j; J - общее число вариантов проектов; XjI - величина
экономического эффекта, который может быть получен при реализации
проекта.
Число взаимосвязей между пректами может быть достаточно
большим и выражаться в виде достаточно сложной сети. Для удобства
всякую сеть взаимосвязей проектов будем обозначать символом .
Рассмотрим теперь способы выражения логической взаимообусловленности
вариантов проектов  с помощью представляющих функций. Для этого
каждой пропозициональной переменной Р поставим в соответствие
двузначную функцию ai(Pi), которая принимает значение 0, когда проект
Pj остается не включенным в план, и значение +1, когда проект j
принимается к исполнению и включается в план. В этом случае требование,
выражаемое разделением Pk  Pm,
будет представлено неравенством
ak + am <= 1,
(15)
а требование выражаемое импликацией
Pm  Pk,
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
39 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Представлено неравенством
am <= ak,
(16)
где m и k - номера вариантов проектов.
В целом условия выбора вариантов проектов таковы: имеется
множество вариантов проектов, каждый вариант проекта записывается Iмерным вектором его технико-экономических показателей:
Xij, i = 1,…,I.
На множестве вариантов проектов задана сеть логических
взаимообусловливающих связей. Наличные суммарные количества ресурсов
выражаются вектором Vi, I = 1,…,I – 1.
С учетом сказанного мы можем записать ограничения по ресурсам:
Xijaj <= V1,
……………..
XjI – 1aj <= VI-1.
j = 1,…,J.
(17)
Каждое условие неравенства (17) выражает, что совокупные
затраты каждого i – го ресурса на все принимаемые к исполнению варианты
проектов не должны превосходить наличного количества данного ресурса.
При этом
aj = j = 1,…,J.
(18)
Логические ограничения, накладываемые сетью , выражаются
системой неравенств типа (15) и (16).
В совокупности отношения (15) – (18) выражают условие выбора
вариантов проектов. Цель выбора вариантов проектов – максимизация
суммарного годового экономического эффекта, т.е.
XjI1aj  max.
Таким образом, модель выбора вариантов проектов выражается
соотношениями (15) – (19).
4) Задачи, сводимые к дискретным
Чтобы пояснить технику и способ сведения нелинейных условноэкстремальных задач сепарабельного программирования к линейным
задачам дискретного программирования, рассмотрим следующий условный
пример.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
40 из 44
УлГТУ
факультет ИСТ
кафедра ВТ
Функция f (X1,X2,…,Xn) называется сепарабельной, если она
может быть представлена в виде f1(X1) + f2(X2) +…+fn(Xn).
Условно – экстремальная задача f(X)  max; gi()X <= b, I = 1,..,m
называется сепарабельной, если f(X) и gi сепарабельны.
Рассматриваемый метод сведения применим только к задачам
сепарабельного программирования. Если же f(x) или хотя бы одно из gi(X)
не сепарабельно, то указанный способ применим.
Если, например, имеется несепарабельное ограничение
gi(X) = gi(X1,…,Xn) = gi^1(X1)gi^2(X^2),…,gi^n(Xn),
то описываемый
метод приводит к возникновению нелинейной
задачи с булевыми переменными, для которой неизвестны какие-либо
достаточно эффективные методы решения.
5) О применении дискретного программирования в
планировании сельскохозяйственного производства
Задачи дискретного программирования возникают при разработке
экономико-математических моделей сельскохозяйственного производства
вследствие
неделимости
некоторых
ресурсов,
наличия
логических
взаимосвязей и, наконец, как результат сведения недискретных линейных
задач к дискретным линейным.
Предположим, что нами построена некоторая модель линейного
программирования
CX  max,
(20)
AX <=B,
(21)
X >= 0,
(22)
сельскохозяйственного объекта. Здесь C, B, и X – векторы, A –
матрица.
Пусть Xj – площадь под кукурузу. Предположим, что для
возделывания всей площади любого размера необходим один комбайн и
один трактор. Пусть X – машины (комбайн и трактор) , используемые для
возделывания кукурузы. При этом
X = 1, если машины используются, и 0 – в противном случае.
Если Ck – годовые затраты на комбайн и трактор и Cj - стоимость
кукурузы, произведенной на площади в 1 га, то чистый доход составляет
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
41 из 44
УлГТУ
факультет ИСТ
CiXi – CkXk
кафедра ВТ
(23)
Линейную форму (23) будем рассматривать как целевую функцию.
Между переменными Xi и Xj > 0, т.е. если выращивается кукуруза, то,
следовательно комбайн и трактор необходимы (Xk = 1). Наоборот, если
машин нет, то ни один га кукрузы не может быть возделан и, следовательно,
Xj = 0.
Эти логические связи можно записать так:
Xj > 0  Xk = 1
(24)
Xk = 0  Xj = 0.
Наличие машин
без выращивания кукурузы возможно, но
экономически невыгодно.
Для того, чтобы условия (24), представить в форме (21),
относительно дискретных переменных введем вспомогательную константу
j – верхнюю границу дляXj,
которая может быть получена из других
условий задачи (20) – (22):
Xj <= j Xk
(25)
с учетом того, что
Xk  (0;1).
(26)
Условия (25), (26) в совокупности и выражают логические
отношения (24).
Действительно, если Xk = 0, то из (25) следует, что Xi = 0. Наоборот
Xj может быть больше нуля только в случае, если Xk = 1. При этом (23)
выполняет роль фиксированной доплаты.
3. Методы дискретной оптимизации.
Пусть требуется найти
X1 –3X2 + 3X3  max
(27)
При условии
2X1 +X2 – X3 <= 4,
(28)
4X1 – 3X2 <= 2,
-3X1 + 2X2 + X3 <= 3,
X1, X2, X3  (0, 1, 2,…).
Решение задачи без учета дискретности, т.е. предположении, что
вместо условия (29) имеется условие
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
42 из 44
УлГТУ
факультет ИСТ
X1, X2, X3 >= 0
кафедра ВТ
(30)
Таково: X1 = ½, X2 = 0 X3 = 4 ½ .
Легко проверить, что никакое округление не приводит не только к
оптимальному, но даже и к допустимому плану.
Оптимальные дискретные значения переменных, найденные с
учетом (29), таковы:
Х1 = Х2 = 2; Х3 = 5.
Метод округления может быть применен только в тех случаях,
когда заведомо известно, что все переменные в оптимальном плане примут
достаточно большие значения. Так, если, решив задачу (27), (28), (30), мы
получили бы оптимальные значения всех переменных большими, скажем, 20
или 30 т.е. Хonm =20 30, то в качестве приближенного решения дискретной
задачи можно было бы рассматривать вектор
Xionm + 0,5,
I = 1, 2, 3…
Это общее правило для всех задач дискретного программирования,
не содержащих булевых переменных.
Если же хотя бы одна переменная – булевая или если она
принимает в оптимальном недискретном плане значение, меньшее по
абсолютной величине 20, то для поиска оптимального плана задачи
дискретного программирования необходимы специальные методы.
Методы дискретной оптимизации можно разделить на три
основных класса: методы отсечения, комбинаторные методы, приближенные
методы.
Идея методов отсечения принадлежит Данцигу и состоит в
следующем. Вначале решается задача линейного программирования без
учета дискретности переменных. Это первый шаг. Если в результате
получен нецелочисленный план, то к ограничениям исходной задачи
добавляется новое линейное ограничение, которое должно обладать:
1) полученный нецелочисленный план ему не удовлетворяет;
2) любой целочисленный план ему заведомо удовлетворяет.
Второй шаг состоит в решении возникающей при этом новой
задачи линейного программирования.
Последующие шаги заключаются в добавлении новых ограничений
и решении возникающих задач. Процесс повторяется до тез пор, пока не
найдено дискретное решение.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
43 из 44
УлГТУ
факультет ИСТ
Комбинаторные
методы
разнообразны.
кафедра ВТ
Известен
достаточно
универсальный метод ветвей и границ и его различные реализации.
Идея метода ветвей и границ в том, чтобы последовательно, по
шагам разбивать множество D и для каждой области множества D решать
задачу линейного программирования и сопоставлять полученные решения.
Среди приближенных методов достаточно универсальным является
метод случайного поиска. В работах Волконского, Пятницкого-Шапиро,
Левиной и Поманского предложены способы численной реализации этих
методов для решения задач булевого программирования.
В качестве примера детерминированного приближенного метода
можно назвать метод решения транспортных задач с фиксированными
доплатами, предложенный Балинским (США) в 1961г.
Идея Балинского заключается в замене первоначальной задачи
чисто транспортной таким образом, чтобы значения затрат в обеих задачах
разнились по возможности мало.
Коэффициенты новой транспортной задачи вычисляются по
формуле:
Cij = Cij +(dij/min(ai bj)).
Тогда задача сводится к минимизации  Cij Xij
(I=1,…,I),
(j=1,…,J), при условиях
Xij <= ai, I = 1,…,I,
Xij = bj, j = 1,…,J,
Xij >= 0, I = 1,…,I; j = 1,…,J.
Методы оптимизации
Конспект лекций студентам и бакалавриантам доцента Иванова ВС
44 из 44
Download