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

Принятие оптимальных решений в перевозках на морском транспорте. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
4. Выбор, принятие решения
Набор альтернатив
Объект
управления
1. Измерение состояния объекта
Отчетная информация
3. Выработка альтернатив
Результат анализа
2. Обработка информации
Рис. 7.2. Схема работы сетевого планирования
В качестве примера применения в морском деле сетевого планирова­ния можно привести его использование для генерального и оперативного (месячного) планирования работы цехов и специализированных участков на строительстве атомных подводных лодок (АПЛ) в 1970-80-х гг. Для разработки сети была использована планово-технологическая документа­ция, в составе которой имелись ведомости технологических комплектов, каждый из которых представлял собой определенный законченный объем работ. Например, изготовление секции легкого корпуса 101, монтаж си­стемы воздуха высокого давления во 2-м отсеке, окраска цистерна главно­го балласта № 2 левого борта или спаривание линии вала правого борта.
По сети, разработанной на основе всего массива ведомостей техно­логических комплектов, на ЭВМ рассчитывалась продолжительность кри­тического пути, которая накладывалась на календарное время Ткр. Затем полученный результат сравнивался со сроком постройки Т ным договором с заказчиком, министерством обороны. При Т
, установлен-
дог
> Т
кр
дог
сете­вой график подвергался улучшениям путем параллельного выполнения ра­бот до тех пор, пока график не начинал обеспечивать соотношение
Т
Т
кр
. Здесь 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)
(kx(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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]