Постановка задачи оптимизации
Белорусский государственный университет Информатики и радиоэлектроники Факультет информационных технологий и управления Кафедра информационных технологий автоматизированных систем
«К защите допускаю» ______________Н.В. Батин “___”______________2001г.
КУРСОВАЯ РАБОТА по дисциплине «Системный анализ и исследование операций» на тему: «Решение оптимизационной задачи линейного программирования»
Выполнил студент гр. 920603 Журавкин А.В. Руководитель работы Батин Н.В.
Минск, 2001 СОДЕРЖАНИЕ: ВВЕДЕНИЕ…….………………………………………………………………...3 1. Постановка задачи оптимизации……………………………………….…8 2. Построение аналитической модели…………………………………….…9 3. Обоснование и описание вычислительной процедуры………………..11 3.1. Приведение задачи линейного программирования к стандартной форме………………..………………………………………………….11 3.2. Основная идея симлекс-метода……………………………………..12 3.3. Двухэтапный симплекс-метод………………………………………12 4. Решение задачи оптимизации на основе симплекс-таблиц……………14 4.1. Приведение задачи к стандартной форме………..………………..14 4.2. Определение начального допустимого решения…………………14 4.3. Построение искусственного базиса………...………………………15 4.4. Первый этап двухэтапного симплекс-метода…………………….16 4.5. Второй этап двухэтапного метода………………………………….19 5. Анализ модели на чувствительность……………………………………..22 5.1. Статус ресурсов……….………………………………………………22 5.2. Ценность ресурсов……………………………………………………22
5.3. Анализ на чувствительность к изменениям правых частей ограничений……………………………………………………….…..23 5.4. Анализ на чувствительность к изменениям коэффициентов целевой функции……………………………………………...………25 6. Определение оптимального целочисленного решения…………………26 6.1. Метод Гомори для частично целочисленных задач……..……….26 ЗАКЛЮЧЕНИЕ…………………………………………………………...……33 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ………………….……..34 УСЛОВНЫЕ СОКРАЩЕНИЯ………………………….……………………35 ПРИЛОЖЕНИЕ…………………………………………………………….…..36
ВВЕДЕНИЕ
В настоящее время оптимизация находит применение в науке, технике и в любой другой области человеческой деятельности. Оптимизация - целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях. Поиски оптимальных решений привели к созданию специальных математических методов и уже в 18 веке были заложены математические основы оптимизации (вариационное исчисление, численные методы и др). Однако до второй половины 20 века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно. Постановка задачи оптимизации предполагает существование конкурирующих свойств процесса, например: · количество продукции - расход сырья · количество продукции - качество продукции Выбор компромиcного варианта для указанных свойств и представляет собой процедуру решения оптимизационной задачи. При постановке задачи оптимизации необходимо: 1. Наличие объекта оптимизации и цели оптимизации. При этом формулировка каждой задачи оптимизации должна требовать экстремального значения лишь одной величины, т.е. одновременно системе не должно приписываться два и более критериев оптимизации, т.к. практически всегда экстремум одного критерия не соответствует экстремуму другого. Приведем примеры.
Типичный пример неправильной постановки задачи оптимизации: «Получить максимальную производительность при минимальной себестоимости». Ошибка заключается в том, что ставится задача поиска оптимальности 2-х величин, противоречащих друг другу по своей сути. Правильная постановка задачи могла быть следующая: а) получить максимальную производительность при заданной себестоимости; б) получить минимальную себестоимость при заданной производительности; В первом случае критерий оптимизации - производительность а во втором - себестоимость. 2. Наличие ресурсов оптимизации, под которыми понимают возможность выбора значений некоторых параметров оптимизируемого объекта. 3. Возможность количественной оценки оптимизируемой величины, поскольку только в этом случае можно сравнивать эффекты от выбора тех или иных управляющих воздействий. 4. Учет ограничений. Обычно оптимизируемая величина связана с экономичностью работы рассматриваемого объекта (аппарат, цех, завод). Оптимизируемый вариант работы объекта должен оцениваться какой-то количественной мерой - критерием оптимальности. Критерием оптимальности называется количественная оценка оптимизируемого качества объекта. На основании выбранного критерия оптимальности составляется целевая функция, представляющая собой зависимость критерия оптимальности от параметров, влияющих на ее значение. Вид критерия оптимальности или целевой функции определяется конкретной задачей оптимизации. Таким образом, задача оптимизации сводится к нахождению экстремума целевой функции. В зависимости от своей постановки, любая из задач оптимизации может решаться различными методами, и наоборот – любой метод может применяться для решения многих задач. Методы оптимизации могут быть скалярными (оптимизация проводится по одному критерию), векторными (оптимизация проводится по многим критериям), поисковыми (включают методы регулярного и методы случайного поиска), аналитическими (методы дифференциального исчисления, методы вариационного исчисления и др.), вычислительными (основаны на математическом программировании, которое может быть линейным, нелинейным, дискретным, динамическим, стохастическим, эвристическим и т.д.), теоретико-вероятностными, теоретико-игровыми и др. Подвергаться оптимизации могут задачи как с ограничениями, так и без них.
Задачами линейного программирования называются задачи, в которых линейны как целевая функция, так и ограничения в виде равенств и неравенств. Кратко задачу линейного программирования можно сформулировать следующим образом: найти вектор значений переменных, доставляющих экстремум линейной целевой функции при m ограничениях в виде линейных равенств или неравенств.
Линейное программирование представляет собой наиболее часто используемый метод оптимизации. К числу задач линейного программирования можно отнести задачи: · рационального использования сырья и материалов; задачи оптимизации раскроя; · оптимизации производственной программы предприятий; · оптимального размещения и концентрации производства; · составления оптимального плана перевозок, работы транспорта; · управления производственными запасами; · и многие другие, принадлежащие сфере оптимального планирования. Так, по оценкам американских экспертов, около 75% от общего числа применяемых оптимизационных методов приходится на линейное программирование. Около четверти машинного времени, затраченного в последние годы на проведение научных исследований, было отведено решению задач линейного программирования и их многочисленных модификаций. Первые постановки задач линейного программирования были сформулированы известным советским математиком Л.В.Канторовичем, которому за эти работы была присуждена Нобелевская премия по экономике. Значительное развитие теория и алгоритмический аппарат линейного программирования получили с изобретением и распространением ЭВМ и формулировкой американским математиком Дж. Данцингом симплекс-метода. В настоящее время линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решения. Для решения задач линейного программирования разработано сложное програмное обеспечение, дающее возможность эффективно и надежно решать практические задачи больших объемов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов. В развитие и совершенствование этих систем вложен труд и талант многих матеметиков, аккумулирован опыт решения тысяч задач. Владение аппаратом линейного программирования необходимо каждому специалисту в области математического программирования. Линейное программирование тесно связано с другими методами математического программирования (например, нелинейного программирования, где целевая функция нелинейна). Задачи с нелинейной целевой функцией и линейными ограничениями называют задачами нелинейного программирования с линейными ограничениями. Оптимизационные задачи такого рода можно классифицировать на основе структурных особенностей нелинейных целевых функций. Если целевая функция Е - квадратичная функция, то мы имеем дело с задачей квадратичного программирования; если Е – это отношение линейных функций, то соответствующая задача носит название задачи дробно-линейного программирования, и т.д. Деление оптимизационных задач на эти классы представляет значительный интерес, поскольку специфические особенности тех или иных задач играют важную роль при разработке методов их решения.
Современные методы линейного программирования достаточно надежно решают задачи общего вида с несколькими тысячами ограничений и десятками тысяч переменных. Для решения сверхбольших задач используются уже, как правило, специализированные методы.
ПОСТАНОВКА ЗАДАЧИ ОПТИМИЗАЦИИ Вариант 80. В цехе имеется токарный станок и станок-автомат. Цех выпускает детали 1,2 и 3 в комплекте: на каждую деталь 1 – по 2 детали 2 и 3. Часовая производительность станков по каждой из деталей приведена в таблице:
Станки |
Детали | |||||||||||||||||
1 | 2 | 3 | ||||||||||||||||
1.Токарный | 5 | 5 | 10 | |||||||||||||||
2.Автомат | 15 | 15 | 10 |
Таблица 1. Часовая производительность станков
Составить программу работы станков, при которой в течение смены (8 часов) будет выпускаться максимальное количество комплектов деталей.
|
|