Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Принятие оптимальных решений в перевозках на морском транспорте. Учебное пособие
.pdf
4. Выбор, принятие
решения
Набор альтернатив
Объект
управления
1. Измерение
состояния объекта
Отчетная информация
3. Выработка
альтернатив
Результат анализа
2. Обработка
информации
Рис. 7.2. Схема работы сетевого планирования
В качестве примера применения в морском деле сетевого планирования можно привести его использование для генерального и оперативного
(месячного) планирования работы цехов и специализированных участков
на строительстве атомных подводных лодок (АПЛ) в 1970-80-х гг. Для
разработки сети была использована планово-технологическая документация, в составе которой имелись ведомости технологических комплектов,
каждый из которых представлял собой определенный законченный объем
работ. Например, изготовление секции легкого корпуса 101, монтаж системы воздуха высокого давления во 2-м отсеке, окраска цистерна главного балласта № 2 левого борта или спаривание линии вала правого борта.
По сети, разработанной на основе всего массива ведомостей технологических комплектов, на ЭВМ рассчитывалась продолжительность критического пути, которая накладывалась на календарное время Ткр. Затем
полученный результат сравнивался со сроком постройки Т
ным договором с заказчиком, министерством обороны. При Т
, установлен-
дог
> Т
кр
дог
сетевой график подвергался улучшениям путем параллельного выполнения работ до тех пор, пока график не начинал обеспечивать соотношение
Т
≤ k·Т
кр
. Здесь k – коэффициент, величина которого устанавливалась
дог
опытным путем, исходя из возможных срывов сроков поставки заводустроителю АПЛ материалов, комплектующих изделий и возможной непогоды на морских полигонах, препятствующей испытаниям корабля.
Оптимизированный таким образом сетевой график может использоваться накануне каждого месяца постройки для расчета оперативного номенклатурного плана каждому m-му специализированному производственному участку и n-му цеху. Основой такого расчета является контрольная величина трудоемкости работ Δt по технологическим комплектам, равная остатку общей трудоемкости постройки, поделенному на количество оставшихся месяцев постройки n
:
о
121

QQ
Δt =
св
n
,
o
где Qс – трудоемкость строительства корабля, нормочас; Qв – трудоемкость
выполненных технологических комплектов, нормочас; nо – количество
оставшихся месяцев строительства.
Трудоемкость технологических комплектов Qс, работы по которым
закончены, определяется по ежемесячным отчетам производственных
участков. Отчеты обычно содержат помимо обязательных реквизитов
идентификации участка и цеха еще и реквизиты, устанавливающие наименование работ, номер технологического комплекта или его машинный номер, а также величину переработанной в отчетном месяце трудоемкости по
комплекту.
Выбор технологических комплектов по топологии сети и суммирование их трудоемкости при расчете номенклатурного плана производственных участков и цехов заканчивается при условии
Δt =
q
,
k
k
где qk – трудоемкость k-го еще не выполненного технологического комплекта по топологии сети.
Кроме формирования производственного плана в номенклатуре и
объемах трудоемкости, сетевой график позволяет с достаточной точностью
определять время поставки практически всех комплектующих. А учет времени, необходимого для их транспортировки на завод, приема и подготовки к монтажу, позволяет точно определять сроки в договорах на поставку.
Это обстоятельство может обеспечить ощутимую экономию необходимых
оборотных средств.
Естественно, что в реальном сетевом графике, состоящем из десятков тысяч событий, не обходится без ошибок. Управление такими объемными графиками достаточно сложно, т.к. помимо необходимости исправления выявленных ошибок ведется совершенствование конструкции объекта, применяемых технологий. Все это довольно трудоемко, кроме того,
требует тщательности при внесении изменений, для сокращения ошибок
оно должно выполняться квалифицированным персоналом. Однако недостатки, присущие сетевому планированию, нисколько не снижают полезности применения его в управлении сложными и особо сложными производственными процессами с взаимосвязанными и взаимозависимыми работами.
122

8. ОДНОКРИТЕРИАЛЬНАЯ ЧИСЛЕННАЯ
ОДНО- И МНОГОМЕРНАЯ ОПТИМИЗАЦИЯ
8.1. Особенности и схема решения задач численной оптимизации
Насущная необходимость и стремление эффективно использовать
имеющиеся ресурсы ведут к развитию, усложнению математических моделей, описывающих производственную деятельность предприятий, и разработке новых методов решения задач оптимизации. Решение задач однокритериальной одно- или многомерной оптимизации часто усложняется
рядом причин, среди которых можно выделить две основные:
1) отсутствие, как правило, непрерывности целевой функции;
2) отсутствие однозначного решения и, соответственно, необходи-
мость оперировать областями допустимых и оптимальных решений.
Обе эти причины крайне усложняют аналитическое решение, делая
его практически невозможным. Получить решение таких задач
Z(X) → inf, Х = (х
, х2, …, х
1
), X R
m
n
в большинстве случаев аналитически в явном виде не удается, поэтому их
приходится решать численно.
Развитию численных методов оптимизации способствовало также
интенсивное развитие вычислительной техники и программных средств.
Для решения таких задач используются специальные алгоритмы поиска
оптимальных решений.
Численные методы оптимизации можно подразделить на две группы:
прямые и непрямые. В прямых методах используются непосредственно исходные параметры экстремальной задачи. Большинство прямых методов –
дискретные, т.е. в их основе лежит итерационный (от лат. iteratio – повторение) процесс последовательного приближения к экстремальному значению целевой функции. В алгоритме процесса генерируются дискретные
(1)
значения векторов Х
приближения к оптимальному решению Х
задачи каждая итерация, т.е. переход от приближения х
приближению х
(k)
где h
– направление итерации; Δx
(k+1)
, строится по схеме
При этом последовательно вычисляются значения Z(x
(k)
Z(x
), Z(x
значение x
(k+1)
), ... , образующие ряд, в котором каждая x
(k+1)
выбирается таким образом, чтобы при поиске минимума вы-
полнялось условие монотонноcти Z(Х
(2)
, Х
, …, представляющие собой последовательные
. Как правило, для одномерной
(k+1)
х
opt
= х
(k)
(k)
(k)Δx(k)
+ h
,
– величина шага итерации.
k+1
) < Z(Хk).
(k)
к последующему
(1)
(k)
→ х
), Z(x
, а каждое
opt
(2)
), ...,
123

К непрямым методам относят те, в которых решение задачи получают через решение другой задачи, к которой предварительно сводится исходная задача, например, как в методе Лагранжа, в котором исходная целевая функция приводится к функции Лагранжа с помощью множителей
Лагранжа.
Методы численной оптимизации отличаются друг от друга способами вычисления значений Δx
(k)
ваются однозначные правила вычисления Δx
и h
(k)
. Если по текущей информации указы-
(k)
и h
(k)
, то метод относится к
детерминированным. В стохастических методах для вычисления значений
(k)
величин Δx
(k)
, h
привлекаются случайные зависимости. Численному ме-
тоду оптимизации присваивается порядок n, если на итерации используется хотя бы одна производная n-го порядка от какого-либо элемента задачи, а производные более высокого порядка не используются. Методы порядка п = 0 называются методами поиска.
Различают одношаговые и многошаговые численные итерационные
методы оптимизации. У одношагового метода при вычислении значений
(k)
Δx
левой функции и уравнений ограничений только в текущей точке х
и h
(k)
на текущей итерации используется информация о величине це-
(k)
. Если
на итерации привлекаются значения элементов задачи в предыдущих точках (х
(k–р)
, …, х
(k–1)
(k)
, х
), то метод относится к многошаговым с глубиной
памяти р.
Если все точки х
(1)
, ..., х
(k)
выбираются одновременно до начала вы-
числений, то метод называется пассивным. Однако для решения большинства задач точки вычисления выбираются поочередно, т.е. точка х
бирается тогда, когда уже выбраны предыдущие точки х
(k–1)
, х
(k+1)
k
и в каждой
вы-
из них произведены соответствующие алгоритму вычисления. Такие алгоритмы называются последовательными.
Метод оптимизации называется конечным, если решение задачи получается за конечное число итераций. Методы с бесконечным числом итераций называют итеративными. Существенной характеристикой бесконечно шаговых методов является сходимость. Итеративный метод относится к
сходящимся, если он генерирует последовательность векторов, которая
сходится в детерминированном или стохастическом смысле к оптимальному решению. Принято считать, что метод сходится к решению, если
(k)
x
→ х
(1)
Z(x
следовательность {х
при k → ∞, где х
opt
) → Z(x
), то говорят, что метод сходится по функции, при этом по-
opt
(k)
– оптимальное решение задачи. Если
opt
}
= 0, 1, … называется оптимизирующей, хотя она
k
может и не сходиться к точке экстремума. Эффективность сходящегося
метода характеризуется понятием скорости сходимости. Процесс вычислений экстремума целевой функции Z(x) прекращают на том итерационном
шаге, когда будет найдено его приближенное значение, близкое к реально-
124

му. Установление итерационного шага, определяющего окончание вычислительного процесса, рассмотрено ниже.
При численном решении задач оптимизации возникает ряд сложностей. Во-первых, целевая функция может иметь несколько экстремумов, поэтому начальные значения могут оказаться далеко от глобального экстремума и оптимизация может закончиться в точке локального экстремума.
Для исключения такого положения необходимо ориентироваться на физический смысл целевой функции или выбирать несколько начальных значений оптимизирующих переменных. Во-вторых, для уменьшения возможности ошибок вычислительной процедуры следует тщательно анализировать
задачу и с учетом этого анализа использовать математический аппарат.
Методы численного решения одно- и многомерных задач оптимизации принципиально строятся в последовательности действий, схема которых представлена на рис. 8.1.
Исходные данные исследуемого объекта
Параметры объекта
Математическая модель Целевая функция
Проектирование, исследование объекта
Уточнение
Процесс формирования модели
X
opt
Алгоритм оптимизации
Выходные данные объекта
Z(X)
Рис. 8.1. Схема решения численных задач оптимизации
Вначале исходя из анализа исследуемого объекта, по которому отыскивается оптимальное решение, на основе его параметров разрабатывается
математическая модель, которая трансформируется в целевую функцию.
При разработке математической модели часто в исследуемый объект вводят те или иные усовершенствования (проектирование объекта). Затем разрабатывается алгоритм поиска оптимального значения целевой функции.
В итерационном процессе вычисления прекращаются в тот момент,
когда на каком-то итерационном шаге найденное приближенное значение
точки экстремума множества X достаточно близко к реальному экстремуму. Понятие «достаточно близко» нисколько не приближает нас к пониманию того, когда следует остановить вычислительный процесс, поэтому его
125

необходимо конкретизировать. Для этого можно использовать принципиально два подхода:
1) Задаться постоянными величинами ε1, ε2 и ε3, которые определят
требуемую точность получаемого решения. Тогда останов итерационного
вычислительного процесса определится следующими критериями:
(k+1)
|
Х
– Х
(k)
| < ε
; (8.1)
1
где Х
(k+1)
Z(Х
|
| ∂
Z(Х
(k+1)
– точка, полученная на (k+1)-м шаге итерации; Х
(k+1)
) – Z(Х
) – ∂Z(Х
(k)
(k)
)| < ε
)| < ε
; (8.2)
2
, (8.3)
3
(k)
– точка, полу-
ченная на k-м шаге итерации.
Причем возможно использование одного, двух или всех трех критериев (8.1), (8.2), (8.3) одновременно. Несложно заметить, что эти критерии
основаны на понятии абсолютной погрешности. Величина констант ε1, ε2 и
ε3 определяется исходя из смыслового значения параметров исследуемого
объекта и той точности, которая необходима для принятия управленческого решения на основе этих параметров.
2) Вместо абсолютных величин можно воспользоваться условиями,
которые основываются на понятии относительной погрешности. Тогда
итерационный шаг, на котором следует остановить вычисления, определится следующими критериями:
|
Z(Х
|
Х
k+1
k+1
k
– Х
) – Z(Х
| < δ
k
)| < δ
· (1 + |Х
1
· (1 + |Z(Х k)|), (8.5)
2
k+1
|), (8.4)
|∂
Z(Х
k+1
) – ∂Z(Х k)| < δ3· (1 + |∂Z(Х
k
)|), (8.6)
где δ1, δ2, δ3 – относительные доли, определяющие точность итерационного
вычислительного процесса.
Значения относительных долей δ1, δ2, δ3 в выражениях (8.4), (8.5),
(8.6) также будут определяться смыслом параметров исследуемого объекта
и точностью, которая необходима для принятия управленческого решения.
Кроме того, отсутствие непрерывности целевой функции в задачах численной оптимизации делает поиск оптимального решения специфичным,
ставя его в зависимость от такой важной характеристики математической
модели, как чувствительность.
8.2. Алгоритм поиска решения
Понятие алгоритма. Под алгоритмом (от лат. algorithmi – алгоритм,
от имени аль-Хорезами, арабского математика IX в.) понимают точное
предписание или правило, которое задает и определяет вычислительный
126

процесс. Алгоритм начинается с произвольных исходных данных и
направлен на получение результата, полностью определяемого ими.
Например, алгоритмом являются известные правила арифметического
сложения, вычитания, умножения и деления столбиком.
Возможными результатами, полученными в алгоритмах, служат
натуральные числа, записанные в десятичной системе, а возможными исходными данными – упорядоченные пары таких чисел. Вообще говоря, в
алгоритме не предполагается, что результат будет обязательно получен.
Процесс применения алгоритма к конкретному возможному исходному
данному (т.е. алгоритмический процесс, развертывающийся начиная с этого данного) может не закончиться вовсе. Он может также оборваться безрезультатно. В этом случае говорят, что произошла безрезультатная
остановка алгоритма.
Если вычислительный процесс заканчивается получением результа-
та, говорят, что алгоритм применим к рассматриваемому возможному исходному данному. Если вычислительный процесс не заканчивается получением результата, то алгоритм не применим к рассматриваемому возможному исходному данному.
Понятие алгоритма занимает одно из центральных мест в со-
временной вычислительной математике. Так, проблема численного решения уравнений заключается в отыскании алгоритма, который всякую пару,
составленную из произвольного уравнения и произвольного положительного рационального числа е, перерабатывает в число (или набор чисел),
отличающееся (отличающихся) от корня (корней) этого уравнения меньше, чем на е.
Современные ЭВМ дают возможность реализовать на них сложные
алгоритмы. Однако термин «вычислительный процесс» не следует понимать в узком смысле только цифровых вычислений. Уже в школьном курсе алгебры говорят о буквенных вычислениях, да и в арифметических вычислениях появляются отличные от цифр символы (скобки, знак равенства, знаки арифметических действий). Таким образом, целесообразно рассматривать алгоритмы как процессы, оперирующие с произвольными символами и их комбинациями. Простейшим случаем такой комбинации является линейная последовательность символов, образующая слово, однако
можно рассматривать и «нелинейные» комбинации, такие как алгебраические матрицы, знакосочетания, фразы того или иного языка с расставленными стрелками синтаксического управления и, вообще, размеченные тем
или иным способом графы.
Наиболее общее интуитивное понимание алгоритма состоит в том,
что исходными данными и результатами алгоритма могут служить самые
разнообразные конструктивные объекты. Это открывает возможность
широкого применения понятия «алгоритм». Можно говорить об алгоритме
127

перевода с одного языка на другой, об алгоритме работы поездного диспетчера, перерабатывающего информацию о движении поездов в приказы,
и других о примерах алгоритмического описания процессов управления.
Именно поэтому понятие алгоритма является одним из центральных понятий кибернетики.
Значение алгоритма. Алгоритмы встречаются на каждом шагу:
умение решать задачу «в общем виде» всегда означает, по существу, владение некоторым алгоритмом. Например, говоря об умении человека складывать числа, имеют в виду не то, что он рано или поздно сумеет найти их
сумму, а то, что он владеет некоторым единообразным приемом сложения,
применимым к любым двум конкретным записям чисел (известное правило сложения чисел столбиком).
Понятие задачи «в общем виде» уточняется при помощи понятия
массовая алгоритмическая проблема. Она задается серией отдельных,
единичных проблем и состоит в требовании найти единый алгоритм их
решения. Когда такого алгоритма не существует, говорят, что рассматриваемая массовая алгоритмическая проблема неразрешима. Так, проблема
численного решения уравнений данного типа и проблема автоматическо-
го перевода суть массовая алгоритмическая проблема: образующими их
единичными проблемами являются в первом случае проблемы численного
решения отдельных уравнений данного типа, а во втором случае – проблемы перевода отдельных фраз. Ролью массовой алгоритмической проблемы
определяется значение и сфера приложения понятия алгоритма. Например,
в алгебре возникает массовая алгоритмическая проблема проверки алгебраических равенств различных типов, в математической логике – распознавания выводимости предложений из заданных аксиом и т.п. Установление неразрешимости какой-либо массовой алгоритмической проблемы является важным познавательным актом. Он показывает, что для решения
конкретных единичных проблем принципиально необходимы методы,
специфические для каждой отдельной проблемы.
Содержательные явления, которые легли в основу образования понятия «алгоритм», всегда занимали важное место в науке. С древнейших
времен многие задачи математики заключались в поисках тех или иных
конструктивных методов. Эти поиски, особенно усилившиеся в связи с созданием удобной символики, а также осмыслением принципиального отсутствия искомых методов в ряде случаев (задача о квадратуре круга и подобные ей) были мощным фактором развития научных знаний. Осознание
невозможности решить задачу прямым вычислением привело к созданию в
ХIХ в. теоретико-множественной концепции. Лишь после периода интенсивного развития этой концепции, в рамках которой вопрос о конструктивных методах в современном их понимании вообще не возникает, оказалось возможным в середине ХХ в. вернуться к вопросу конструктивности
на новом уровне понятия алгоритма.
128

Для того чтобы решить определенную задачу, необходимо знать или
x
~
х
х
х
х
х
создать метод ее решения. Основная проблема при построении таких алгоритмов состоит в сокращении времени поиска оптимального решения. Далее рассмотрим на примерах одно- и двухмерных задач схемы основных
алгоритмов оптимизации, нашедшие применение на практике.
8.3. Методы численной оптимизации
Метод простого перебора. Этот метод обычно используется для од-
номерной оптимизации, хотя при определенной модификации может быть
применен и к многомерной целевой функции. Предположим, что имеется
одномерная целевая функция Z(х), определенная на отрезке [a, b] R, и
требуется отыскать ее экстремум Z(х) →
. Процесс решения для од-
min
bax ,
номерной задачи оптимизации представлен на рис. 8.2.
Для отыскания оптимизирующего значения переменной х = х
даются точностью ε его определения, имея в виду, что ε ≥
~
хх
opt
opt
, где
за-
–
приближенное значение х
. Значение точности ε устанавливается исходя
opt
из смысла целевой функции. Для перебора точек хi на отрезке [a, b] выбирают постоянный шаг
, представляющий собой разность между двумя
смежными значениями переменной, которыми задаются при вычислении
значений функции. Величина постоянного шага
Начиная со значения переменной хi = a и двигаясь с шагом
высчитывают для каждой переменной х
Перебор х
не будут выполнять условие Z(х
с шагом
i
ведут до тех пор, пока значения целевой функции
) ≥ Z(хi). Это означает, что минимум це-
i+1
значения целевой функции Z(х
i
составляет
≤ ε.
к х
= b,
i
i
).
левой функции пройден и она начинает возрастать.
Z(х)
Z(x) → min
Колебание значений Z(х)
0
a
Δx
b
х
Рис. 8.2. Метод простого перебора при численной оптимизации
129

По сути, метод простого перебора основывается на чувствительности
х
Z
Z
х
х
целевой функции, для определения которой используется шаг оптимизирующей переменной
. Чувствительность представляет собой степень
изменения функции при изменении ее независимых переменных:
() ()
()
Zx
S
x
lim :
Уменьшение задаваемого шага
xx xdZx
() ()
xx Zxdx
ведет к повышению чувствитель-
.
ности функции. В то же время это ведет к увеличению количества вычислений целевой функции. Можно сделать вывод, что чем выше чувствительность целевой функции математической модели, используемой в оптимизационной задаче, тем ниже качество поиска оптимального решения,
и наоборот.
Если в задаче оптимизации имеются ограничения, то поиск оптимального значения целевой функции ведется в области, соответствующей
допустимым значениям переменных. Это обстоятельство необходимо учитывать и, соответственно, контролировать, чтобы при выборе величины
шага оптимизации не было нарушено какое-либо из имеющихся ограничений.
Метод направленного перебора. Если в методе простого перебора
для поиска оптимума используется постоянный шаг
, то в методе
направленного перебора применяется изменяющийся шаг. В алгоритме метода производится последовательное уменьшение шага оптимизации, и его
уменьшение пропорционально сокращению интервала вокруг оптимума
(рис. 8.3).
Z(x) Z(x) → min
1-й интервал
2-й интервал
3-й интервал
0 1 2 3 4 … 4 3 2 1 х
Рис. 8.3. Оптимизация направленным перебором
Алгоритм метода направленного перебора оптимизации заключается
в многократном повторении процедуры простого перебора с задаваемым
переменным шагом вокруг оптимума исследуемой целевой функции. При
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
