Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы мат.моделирования. Фетисов / Математическое моделирование.doc
Скачиваний:
254
Добавлен:
09.02.2015
Размер:
3.83 Mб
Скачать

Лекция №6. Диалоговые системы оптимизации

А.6.1. Общие принципы построения диалоговых моделей

При использовании численных методов оптимизации при решении конкретных задач приходится проводить огромный объем вычислений. К настоящему времени намечается существенный прогресс в области решения задач оптимизации, за счет диалога человека, математика или руководителя системы, с ЭВМ, работающей в режиме разделения времени.

Использование имитационных моделей в практике расчета сложных инженерно- экономических задач опирается на точную постановку оптимизационной задачи, ведь качество численного метода характеризуется многими факторами: областью сходимости метода, скоростью сходимости, временем выполнения одной итерации, объёмом памяти машины, необходимым для реализации метода, классом решаемой задачи и т.д. Как вы видели выше, оптимизационные задачи также обладают большим разнообразием. Среди них встречаются гладкие и негладкие задачи, малой и высокой размерности, овражного типа, унимодальные и многоэкстремальные и т.п. Совершенно ясно, что не поиск универсального метода, а разумное сочетание разнообразных методов позволит с наибольшей эффективностью решать поставленную задачу.

Поклонники быстро сходящихся методов берут достаточно хорошие первые начальные приближения и с помощью результатов численных расчётов доказывают преимущество этих методов над медленно сходящимися методами. Новый подход к качественной оценке методов ослабляет остроту споров между разработчиками различных методов, требуя от них лишь одного – признания ориентации создаваемых ими методов на какой-либо этап численных расчетов или класс решаемых задач.

Управление процессом оптимизации ранее осуществлялось статически, когда пользователь заранее задавал сценарий расчетов, то есть определял последовательность применяемых им методов, их параметров, вводил эту информацию в машину, получал результаты только после завершения всех расчетов. Этот подход, как правило, приводил к значительному объему вычислений, поскольку на постановке задачи заранее трудно предугадать ход вычислительного процесса.

Более целесообразно осуществлять управления расчётами в диалоговом режиме, когда пользователь в процессе расчетов получает сведения о текущих результатах, изменяет параметры метода, осуществляет целенаправленный и осознанный переход от одного метода к другому методу оптимизации поставленной задачи.

Краткая информация о некоторых оптимизационных диалоговых системах.

Система планирования ДИСПЛАН (описана в работе В.М. Глушкова и Г. Б. Олеярша «Диалоговые системы планирования ДИСПЛАН», ж-л «Управляющие системы и машины», 1976, №4, стр. 123-124). Система предназначена для оперативного решения задач текущего планирования на этапе согласования плана. В ней осуществляются балансовые расчеты с учетом ограничений на ресурсы путем решения алгебраических уравнений и их систем (размерность переменных 1200). Система позволила в диалоговом режиме решать различные задачи линейного программирования.

В институте механики и математики Уральского НЦ РАН был создан пакет ОПТИМА-2 (см. работу Г.Ф. Корниловой «Пакет «Оптима-2» для решения задач оптимального планирования», В кн. «Программы оптимизации», Свердловск: Изд-во ИММ УНЦ РАН, 1974, вып. 5.). Пакет содержит развитое программное обеспечение для решения различных производственных задач; решение задач проводится в автоматическом режиме. При этом используется модифицированный симплекс-метод с мультипликативным представлением обратной матрицы и процедурой повторения. Для больших размерностей разработан метод стыковки итерационного метода решения систем нелинейных уравнений и симплекс-метода.

В вычислительном центре РАН была создана система (см. работу Н.К. Буровой в трудах ВЦ АН СССР за 1981 год) для решения оптимизационных задач линейного и квадратичного программирования, содержащих до 2000 условий общего вида и до 30000 переменных задачи. Система содержит метод Франка и Вольфа для решения задачи квадратичного программирования, метод ветвей и границ для решения частично-целочисленной задачи линейного программирования, метод минимизации алгоритмически вычисляемой кусочно-линейной целевой функции и т. д.

Безусловно интересной представляется и разработанная диалоговая система автоматизации процесса принятия оптимальных решений САППО (см. работу Батищева Д.И. «Поисковые методы оптимального проектирования», М.: Сов. Радио, 1975). Данная система ориентирована на решение в диалоговом режиме трех важнейших классов оптимизационных задач: задачи безусловной минимизации функции многих переменных, задач нелинейного программирования, задачи многокритериальной (векторной) оптимизации.

Наконец, следует упомянуть о проблемно – ориентированной диалоговой системе ДИСО, разработка которой началась в ВЦ РАН. Пакет программ имеет иерархическую структуру, отдельные программы строятся по модульному принципу. Система ДИСО дает возможность решать задачи: безусловной минимизации ФМП, нелинейного программирования, задачи оптимального управления системами с фазовыми ограничениями.

А.6.2. Процесс имитационного моделирования

Имитационной моделью называется всякая модель, которая представляет логико-математическое описание системы, которое может быть исследовано в ходе проведения экспериментов на цифровой ЭВМ, и , значит, может считаться лабораторной версией системы.

В процессе имитационного моделирования имеем следующие этапы:

1. Формулировка проблемы: описание исследуемой проблемы и определение целей исследования.

2. Разработка модели: логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

3. Подготовка данных: идентификация, спецификация и сбор данных.

4. Трансляция модели: перевод модели на язык, приемлемый для используемой ЭВМ.

5. Верификация: установление правильности машинных программ.

6. Валидация: оценка требуемой точности и соответствия построенной имитационной модели в реальной системе.

7. Стратегическое и тактическое планирование: определение условий проведения машинного эксперимента с имитационной моделью.

8. Экспериментирование: прогон имитационной модели на ЭВМ для получения требуемой информации.

9. Анализ результатов: изучение результатов имитационного эксперимента для подготовки выводов и рекомендаций по решению проблемы.

10. Реализация и документирование: реализация рекомендаций, полученных на основе имитационного моделирования, и составление документации по модели и по ее использованию.

Кратко остановимся на расшифровке некоторых из основных этапов.

Этапы 1 -3 в своей постановке и описании более или менее ясны.

Этап 4 предполагает перевод разработанной модели на язык в форму, доступную для ЭВМ. Использование имитационного языка СЛАМ, оснащенного графическими средствами для объединения в единый процесс разработки модели и ее трансляции, упрощает разработку модели, так как язык содержит программное средство для исследования модификаций моделей на любом уровне детализации, требуемой для отражения сложности исследуемой системы.

Этапы 5-6 осуществляют оценку функционирования имитационной модели. Соответствует ли запрограммированная модель для ЭВМ замыслу разработчика. Это достигается рядом статистических методов. В имитационных моделях существует соответствие между элементами модели и элементами реальной системы, поэтому проверка адекватности разработанной модели включает сравнение ее структуры со структурой системы. Это достигается анализом, как реальных данных, так и путем оценивая чувствительности выходов к изменению значений входных данных.

В этапе 7 задача стратегического планирования есть разработка эффективного плана эксперимента, в результате которого выясняется взаимосвязь между управляемыми параметрами, либо находится комбинация значений управляемых переменных, оптимизирующая отклик имитационной модели.

В тактической части планирования решается вопрос о том, как в рамках эксперимента провести каждый имитационный прогон, чтобы получить наибольшее количество информации из выходных данных. Важнейшее место в тактическом планировании занимают определение начальных условий имитационных прогонов и методы снижения дисперсии среднего значения отклика рассматриваемой модели.

Этапы 8-9 включают прогон имитационной модели на компьютере, интерпретацию полученных выходных данных. Для проверки гипотез о функционировании реальных систем применяются статистические выводы.

Последний из этапов есть реализация полученных решений и документирование имитационной модели и ее использования. Если разработчик модели и пользователь ЭВМ работали в тесном контакте, то результаты проекта будут успешно внедрены.

Таким образом, в ИМ предполагается, что систему можно описать в терминах, понятных вычислительной системе. Ключевым моментом при этом является выделение и описание состояний системы. Система характеризуется набором параметров, каждая комбинация значений которых описывает ее конкретное состояние. Следовательно, путем изменения значений переменных можно имитировать переход системы из одного состояния в другое. Таким образом, ИМ – это представление динамического поведения системы посредством продвижения ее от одного состояния к другому в соответствии с хорошо определенными операционными правилами. Изменения состояний системы могут происходить либо непрерывно, либо в дискретные моменты времени. Хотя процедуры описания динамического поведения дискретно и непрерывно изменяющихся моделей различны, основное ядро имитации реальной системы одно и то же - отображение изменений состояний с течением времени.

А.6.3. Методологические подходы в имитационном моделировании

Модели систем классифицируются на дискретно и непрерывно изменяющиеся. Эти термины относятся к модели, а не к реальной системе. В ИМ время является независимой переменной. Другие переменные, включаемые в имитационную модель, являются функциями времени, т.е зависимыми переменными.

При дискретной имитации зависимые переменные изменяются дискретно в определенные моменты времени, называемых моментами свершения событий. Основная независимая переменная – время процесса – может быть либо непрерывной, либо дискретной в зависимости от того, могут ли дискретные изменения зависимых параметров происходить в любые моменты времени или только в определенные моменты.

При непрерывной имитации зависимые переменные модели изменя­ются непрерывно в течение имитационного времени.

При комбинированной имитации зависимые переменные могут изменяться дискретно, непрерывно или непрерывно с наложенными дискретными скачками. Время изменяется либо дискретно, либо непрерывно. Наиболее важное звено в комбинированном способе заключается в возможности взаимодействий между дискретно и непрерывно изменяющимися переменными.

Приведем графические представления откликов каждого из ИМ:

дискретно –событийный непрерывный комбинированный

имитатор системы имитатор имитатор

Элементы дискретных ИМ, такие, как люди, оборудование, заказы, потоки материалов, банковские системы и т.п., называются компонентами ДИМ. Группы компонентов называются файлами. Описание систем в терминах компонентов впервые было изучено в работе Марковица -Х..М. и др. Описание языков программирования, 1963.

Используются два подхода при описании ДИМ: событийный подход и подход сканирования активностей.

При событийном подходе система моделируется путем идентификации изменений, происходящих в ней в моменты свершения событий. Задача исследователя заключается в описании событий, которые могут изменить состояние системы, и определении логических взаимосвязей между ними. Имитация функционирования системы осуществляется путем выполнения упорядоченной во времени последовательности логически взаимосвязанных случайных событий.

При использовании подхода сканирования активностей разработчик модели описывает действия, в которых принимают участие элементы системы, и задает условия, определяющие начало и окончание этих действий. Условия начала и окончания действия проверяются на каждом итерационном шаге продвижения имитационного времени.

Если заданные условия удовлетворяются, происходит соответствующее действие. Для того, чтобы было выполнено каждое действие в модели, сканирование (срез) условий производится для всего множества действий при каждом продвижении имитационного времени. Это наиболее эффективная схема для ситуаций, в которых продолжительность действия определяется в зависимости от того, насколько состояние системы удовлетворяет заданным условиям. Тем не менее, подход сканирования активностей менее рационален по сравнению с событийным подходом особенно в целочисленной, имитации.

Наконец, многие имитационные модели содержат последовательности компонентов, которые возникают в них по определенной схеме, например очередь, в которой ожидают клиенты обслуживание в фирме. Логика возникновения компонентов по требуемой схеме может быть обобщена и задана в одном операторе. Имитационный язык далее транслирует эти операторы в соответствующую последовательность событий, происходящих с компонентами модели. Такие имитационные языки, которые включают операторы для моделирования процесса прохождения элементов через систему, принято называть процессорно-ориентированными. Процессорно-ориентированный подход сочетает в себе черты событийного подхода и подхода сканирования активностей. Простота и преимущество подхода состоит в том, что определяемая операторами логика событий заложена в самом имитационном языке.

В непрерывной имитационной модели состояние системы представляется с помощью непрерывно изменяющихся зависимых переменных. Для того, чтобы описать непрерывно изменяющуюся систему, создается модель путем задания уравнений, связывающих совокупность переменных состояния. При этом модели непрерывных систем часто определяются в терминах производных переменных состояния, то есть составляются те или иные дифференциальные уравнения или системы диф. уравнений.

Иногда для моделирования непрерывных систем используются разностные уравнения. В этом случае временная ось разбивается на временные периоды длиной . Динамика состояния описывается уравнением, которое вычисляет значение изучаемой переменной состоянии в период К + 1 на основе ее известного значения в период К.

В комбинированном дискретно-непрерывном моделировании применяются два типа событий: временные события (события, свершение которых планируется в определенные моменты времени) и события состояния (эти события не планируются, а происходят тогда, когда система достигает определенного состояния). Отметим, что понятие "события состояния" аналогично понятию "сканирования активностей", в котором событие также не планируется, а инициируется определенным состоянием моделируемой системы.

ЛЕКЦИЯ №7. ДИСКРЕТНО-ЦЕЛОЧИСЛЕННЫЕ МОДЕЛИ

А.7.1. Дискретно-целочисленные задачи

На практике часто встречаются задачи, совпадающие по постановке с задачами линейного программирования, но отличающиеся от последних той особенностью, что искомые значения переменных (параметров) непременно должны быть целыми (и, как правило, натуральными) числами. Такие задачи назвали задачами целочисленного программирования; дополнительное условие целочисленности переменных существенно затрудняет ход решения поставленной задачи.

В наиболее общей формулировке задача целочисленной оптимизации сводится к виду: найти вектор в Еn, который имеет целочисленные координаты и оптимизирует целевую функцию при заданных ограничениях.

С геометрической точки зрения ищется точка n - мерного эвклидова пространства Еn , имеющая целочисленные координаты в заданной области, которая удовлетворяет ограничениям ( в так называемой области допустимых значений ) и оптимизирует целевую функцию Ф.В некоторых оптимизационных задачах требуется, чтобы только некоторые из компонент вектора X были целыми, другие же компоненты должны быть рациональными. Этот случай, носит название частично целочисленного программирования.

Польза аппарата целочисленного программирования для моделей экономики и управления, вероятно, будет ясна уже из того обстоятельства, что многие ресурсы неделимы и участвуют в процессе только целыми единицами (станки, машины, грузовики, самолеты, поезда, вагоны, исполнители и т.п. - все эти объекты поступают или осуществляются только в целых единицах.).

Соблазнительно на первый взгляд попросту округлять нецелые решения оптимизационных задач, особенно, если ошибка округления мала. Однако такое округление часто приводит к решению У, далекому от оптимального целочисленного решения, как иллюстрировано на рис. I.Так, оптимальным решением частично целочисленно задачи является точка А. Точка В с целыми Координатами (3,2) является"ближайшей" к А в смысле обычного расстояния, но целой точкой, находящейся ближе всего к прямой (S0), является точка C(1,4).

Здесь приведены примеры разнообразных задач, решаемых с помощью аппарата целочисленного программирования.

Вычислительная методика. Предположим, что задана обычная выпуклая допустимая область в задаче линейного программирования, Если наложить требование целочисленности, то допустимое множество выродится в систему точек, и, конечно, в общем случае уже не будет выпуклым множеством. Однако, если добавить новые граничные линии ( если это возможно ), которые соединяют "внешние" точки системы, а затем принять в качестве допустимой области все выпуклое множество, ограниченное осями координат и новым контуром, то мы получим новую задачу линейного программирования, подчиняющуюся условиям:

1) Новая допустимая область содержит все целые точки, лежащие в исходной допустимой области.

2) Любая крайняя точка новой допустимой области будет целой. Благодаря известному симплекс-методу, нам обеспечены целочисленность любого решения поставленной задачи и достижимость ее решения за конечное число шагов. Метод Гомори Р. по существу именно так и работает, добавляя новые ограничения по одному.

Пример. Найти максимум целевой функции Ф(х12) = 2х1 + х2 при условии 3/4х1 + 3/2х2<=24/5. Можно видеть, что оптимальное решение Х( 32/5; 0), если не требовать условия целочисленности. Ясно также, что наилучший целочисленный ответ есть У(6,0). Перейдем к процедуре отыскания целочисленного оптимального решения .

Шаг I. Ограничение должно носить целочисленный характер, т.е. с учетом ввода свободной переменной, получит вид 15х1+ЗОх2+x3 = 96.

Шаг 2 Выписывается симплекс-таблица ( с использованием х3 в качестве исходной базисной переменной ( см. цикл соотвт. практической части курса ). Если имеется только одно ограничение, использование таблицы излишне громоздко. Результат преобразования даст в конечном итоге оптимальное решение нецелочисленной задачи Х(32/5,0). Теперь нужно найти дополнительное ограничение, которое сделает это решение недопустимым, но охватит все целочисленные решения внутри рассматриваемой допустимой области.

Шаг 3. Считываем с первой строки оптимальной матрицы соответствующее уравнение, служащее для того, чтобы выразить базисную переменную х1 в виде функции небазисных переменных х2 и х3, Это -ограничительное уравнение, выполняющееся при всех допустимых решениях.

Шаг 4. Предположим, что мы производим такие изменения коэффициентов и свободного члена, при которых получаются наименьшие неотрицательные числа. Введение новой свободной переменной х4 даст нам ограничительное уравнение 1/15х3 – х4 = 2/5, которое можно присоединить к исходному ограничению задачи с тем, чтобы сформулировать новую задачу линейного программирования.

Шаг 5. Нет необходимости пересчитывать всю задачу. Берем оптимальную таблицу, полученную на втором шаге, присоединяем новое ограничение в виде строки. Необходимо присоединить и дополнительный столбец. Измененная матрица учитывает новую задачу теперь уже с двумя ограничениями, значит, необходимо иметь две базисные переменные. Анализ измененной матрицы и ее соответствующие преобразования и приводит к искомому оптимальному решению х1= 6, х2=0 исходной целочисленной задачи.

Имеются, конечно, и более эффективные вычислительные приемы, которые можно было бы использовать при добавлении ограничений и решений получающихся ограничительных уравнений. В частности, и модифицированный симплекс - метод и двойственный симплекс-метод позволили бы избежать значительной части процедур переписывания ( особенно, ярко выступает в данном случае роль и место быстродействующих ЭВМ )

Резюме по методу Гомори Р. задач целочисленного программирования.

Пользуясь отношением сравнимости и оператором выделения дробной части, метод Гомори формулируем в виде последовательности шагов:

1. Преобразовать исходные ограничения задачи линейного программирования к целочисленному виду (шаг I, см. выше ).

2. Решить обычную задачу линейного программирования, (Шаг .2)

З Отобрать из оптимальной матрицы уравнение, соответствующее той переменной в оптимальном решении задачи ЛП, которая имеет наибольшую дробную часть (уi0)*.

4 Записать уравнение

5. Поскольку хi в любом целом решении обязано быть целым, то должно выполняться соотношение ir - небазисные нулевые переменные, отвечающие оптимальному решению задачи ЛП ).

  1. Взять дробные части всех хir и уi0, входящих в окончательное соотношение , 0<=(xir)*<1, 0<=(yi0)*<1.

  2. Левая часть этого соотношения обязана быть положительной, тогда, ясно, что .

8 Добавляя в левую часть свободную переменную хN+1 с коэффициентом (-1), получим оптимальное решение целочисленной задачи.

К сожалению, полезные случаи сведения задач к задачам ЛП носят "смешанный характер": целочисленность в них требуется лишь от части координат исходного вектора X. Поэтому к таким задачам метод Гомори непосредственно не приложим.