- •1. Цели и задачи системного анализа
- •1.1. Определения системного анализа
- •1.2. Понятие сложной системы
- •1.3. Характеристика задач системного анализа
- •1.4. Особенности задач системного анализа
- •1.5. Прогнозирование и планирование
- •2. Характеристика этапов системного
- •2.1. Процедуры системного анализа
- •2.2. Анализ структуры системы
- •2.3. Сбор данных о функционировании системы
- •2.4. Построение моделей систем
- •2.5. Проверка адекватности моделей
- •2.6. Определение целей системного анализа
- •2.7. Формирование критериев
- •2.8. Генерирование альтернатив
- •2.9. Реализация выбора и принятия решений
- •3. Построение моделей систем
- •3.1. Понятие модели системы
- •3.2. Способы описания систем
- •3.3. Анализ и синтез - методы исследования систем
- •3.4. Декомпозиция и агрегирование
- •4. Эксперимент – средство построения
- •4.1. Характеристика эксперимента
- •4.3. Обработка экспериментальных данных
- •4.4. Вероятностное описание событий и процессов
- •4.5. Описание ситуаций с помощью нечетких моделей
- •4.6. Характеристика и классификация статистической
- •5. Математическое программирование
- •5.1. Математические постановки задач, приводящие
- •5.2 Задача линейного программирования
- •5.3. Решение задач линейного программирования
- •5.5. Дискретное программирование
- •6. Выбор или принятие решений
- •6.1. Характеристика задач принятия решений
- •6.2. Критериальный способ описания выбора
- •6.3. Выбор в условиях неопределенности
- •6.4. Концепция риска в задачах системного анализа
- •6.5. Принятие решений в условиях стохастической
- •6.6. Выбор при нечеткой исходной информации
- •6.8. Коллективный или групповой выбор
5. Математическое программирование
Методы математического программирования представляют собой класс моделей, применяемых для формализации задач планирования целенаправленной деятельности, предусматривающих распределение ограниченного количества ресурсов разных видов. Подобного рода задачи решаются в различных отраслях деятельности: в экономике, при разработке проектов, составлении расписаний, планировании военных операций и т.п. Модели математического программирования относятся к категории детерминированных моделей. Термин программирование в применении к рассматриваемому типу задач понимается как поиск наилучших планов (от английского слова programming - составление плана, программы действий). Когда говорят о задачах математического программирования, имеют в виду задачи, цель которых состоит в повышении эффективности промышленных, транспортных систем, систем управления деятельностью учебных, проектных, научных организаций.
Математическое программирование подразделяется на линейное, целочисленное, нелинейное, динамическое программирование. Рассмотрим некоторые постановки задач, методы и алгоритмы их решения.
5.1. Математические постановки задач, приводящие
к моделям линейного программирования
Задачи линейного программирования относятся к категории оптимизационных. Они находят широкое применение в различных областях практической деятельности: при организации работы транспортных систем, в управлении промышленными предприятиями, при составлении проектов сложных систем. Многие распространенные классы задач системного анализа, в частности, задачи оптимального планирования, распределения различных ресурсов, управления запасами, календарного планирования, межотраслевого баланса укладываются в рамки моделей линейного программирования. Несмотря на различные области приложения, данные задачи имеют единую постановку: найти значения переменных , доставляющие оптимум заданной линейной формы при выполнении системы ограничений, представляющих собой также линейные формы.
Рассмотрим примеры конкретных постановок задач, формализация которых приводит к моделям линейного программирования. Вначале рассмотрим задачу определения оптимального ассортимента. Имеется p видов ресурсов в количествах и q видов изделий. Задана матрица , где aij характеризует нормы расхода i-го ресурса на единицу j-го изделия (j=1, 2, …, q). Эффективность выпуска единицы j-го изделия характеризуется показателем сj, удовлетворяющим условию линейности. Требуется определить план выпуска изделий (оптимальный ассортимент), при котором суммарный показатель эффективности принимает наибольшее значение. Обозначим количество единиц j-го изделия, выпускаемых предприятием, через хj, тогда математическая модель задачи будет иметь следующий вид:
Кроме указанных ограничений по ресурсам в модель могут быть введены дополнительные ограничения на планируемый выпуск продукции xj xj0, условия комплектности изделий и т.п.
При рассмотрении типовых задач системного анализа были рассмотрены задачи распределения ресурса, в числе которых описаны задачи, возникающие при проектировании систем, а именно, задача составления титульного списка и задача определения оптимальной очередности разработки. Приведем их формулировки в развернутой постановке.
Задача составления титульного списка. Сформулирован перечень задач, решаемых на первом этапе автоматизации. После составления перечня задач, включаемых в первый этап разработки, необходимо оценить требуемый состав ресурсов на их разработку и требуемое время для их внедрения. Пусть время, требуемое на разработку задач, превышает заданный срок ввода первой очереди в эксплуатацию, тогда возникает проблема составления титульного списка, т.е. возникает необходимость ограничения перечня задач, автоматизируемых на первом этапе. Проблема выбора комплекса задач из сформированного перечня в условиях дефицита времени и ресурсов на разработку всего перечня задач, выполняемых на первом этапе автоматизации, называется задачей составления титульного списка. Таким образом, формулировка задачи будет выглядеть так: требуется сформировать перечень задач, подлежащих автоматизации (титульный список), с учетом имеющихся материальных, временных, трудовых и прочих ресурсов.
Задача определения оптимальной очередности разработки встает перед проектировщиками на следующем этапе проектирования после составления титульного списка задач, подлежащих автоматизации. Суть задачи состоит в распределении ресурсов, выделяемых на разработку системы, между задачами и упорядочении процесса разработки задач во времени. Формализованная постановка данной задачи будет выглядеть следующим образом: необходимо оптимизировать некоторый функционал при выполнении ограничений на потребление ресурсов, выделяемых на разработку проекта, не больше заданного объема в заданном временном интервале.
При выполнении оговоренных условий и обозначений задача распределения ресурсов между операциями проекта обычно формулируется следующим образом: имеется комплекс операций, для которых определены отношения частичного порядка, задаваемые в виде графа G. Необходимо распределить ресурсы, заданные в количестве Rj(t), между операциями комплекса таким образом, чтобы некоторая целевая функция достигла своего экстремального значения.
Рассмотрим еще одну постановку задачи, возникающей при организации деятельности транспортных предприятий, так называемую транспортную задачу. В некоторых пунктах a1 a2,..., аn находятся склады, в которых хранятся товары в количествах X1,X2.,..,Xn соответственно. В пунктах b1 ,b2,...,bm находятся потребители, которым необходимо поставить эти товары в количествах, не меньших, чем Y1 ,Y2,,..,Ym соответственно. Обозначим через cij стоимость перевозки единицы груза из пункта аi. в пункт bj , xij - количество товара, перевозимого из пункта аi в пункт bj. Для того, чтобы удовлетворить запросы потребителей, необходимо, чтобы выполнялась система неравенств
С другой стороны, необходимо учитывать, что с i-го склада нельзя вывезти больше продукта, чем там имеется. Следовательно, должна выполняться еще одна система
Удовлетворить сформулированным условиям можно бесконечным числом способов. Для того, чтобы выбрать оптимальное правило перевозок, необходимо сформулировать критерий, который будет отражать представления о цели функционирования транспортного предприятия. В данной задаче одним из возможных критериев может выступать стоимость перевозок, тогда вид функционала будет определяться очевидным образом:
Таким образом, рассмотрены задачи, математическая формулировка которых описывается схожими моделями, а именно, и оптимизируемый функционал, и ограничения представляют собой линейные формы некоторых переменных. Рассмотрим подходы к решению такого типа задач.