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

Решение задачи линейного программирования

.pdf
Скачиваний:
99
Добавлен:
02.05.2014
Размер:
328.7 Кб
Скачать

 

Содержание

 

Введение.........................................................................................................................................

3

1

Постановка задачи оптимизации........................................................................................

7

2

Построение базовой аналитической модели.....................................................................

8

3

Обоснование вычислительной процедуры......................................................................

11

4

Решение задачи оптимизации на основе симплекс-метода...........................................

12

5

Анализ базовой модели на чувствительность.................................................................

17

5.1

Статус и ценность ресурсов..............................................................................................

17

5.2Анализ на чувствительность к изменению количества часов квалифицированного

труда..............................................................................................................................................

18

5.3

Анализ на чувствительность к изменению стоимости автомобиля «Шторм».............

20

6

Определение оптимального целочисленного решения..................................................

22

7

Постановка модифицированной аналитической модели и анализ результатов

 

модификации................................................................................................................................

26

7.1

Недостатки постановки задачи оптимизации..................................................................

26

7.2

Обеспечение полной занятости........................................................................................

26

7.3

Обеспечение частичной занятостью................................................................................

27

8

Примеры постановок и решения оптимизационных задач............................................

29

8.1

Пример №1 – Задача о выборе оборудования.................................................................

29

8.2

Пример №2 – Задача о производстве изделий ................................................................

30

8.3

Пример №3 – Задача об объемах производства мебельной фабрики...........................

31

Заключение...................................................................................................................................

34

Список используемых источников............................................................................................

35

Приложение А..............................................................................................................................

36

Приложение Б..............................................................................................................................

37

Приложение В..............................................................................................................................

38

Приложение Г..............................................................................................................................

39

Приложение Д..............................................................................................................................

40

Введение

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

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

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

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

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

На практике реализация методов исследования операций должна включать следующие этапы:

1.Формализация исходной проблемы;

2.Построение математической проблемы;

3.Решение модели;

4.Проверка адекватности модели;

3

tbicr

5. Реализация решения.

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

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

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

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

4 tbicr

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

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

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

Таха Х.А. «Введение в исследование операций». Исследование операций, как научная дисциплина и практические методы, ориентировано на решение практических задач, которые можно корректно описать с помощью той или иной математической модели с целью получения оптимального решения. Данная книга может служить учебным пособием по теории и практическому применению методов исследования операций.

Эддоус М., Стэнсфилд Р. «Методы принятия решений». Излагаются теоретические основы принятия управленческих решений в условиях неопределенности и оценки риска: элементы теории вероятностей, минимаксные правила принятия решений, статистический анализ для принятия решений, включающий процедуры статистического вывода, контроля качества, анализа временных рядов и прогнозирования, методы оптимизации решений.

Вентцель Е.С. «Исследование операций: задачи, принципы, методология». В книге популярно излагаются основы исследования операций – науки о выборе разумных, научно обоснованных решений во всех областях целенаправленной человеческой деятельности. Главное внимание уделяется не математическому аппарату, а вопросам методологии.

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

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

5

tbicr

транспортные задачи, задачи управления ресурсами, теория игр, модели массового обслуживания и др.

На данный момент существует множество пакетов прикладных программ, реализующих те или иные методы и алгоритмы решения оптимизационных задач. Отметим некоторые из них:

Lp_solve (http://lpsolve.sourceforge.net). Решает задачи линейного программирования с количеством переменных до 30000 и ограничений – до 50000. Может решать задачи с целочисленными переменными.

LP-Optimizer (http://www.mynetcologne.de/~nc-weidenma/readme.htm). Решает задачи линейного и целочисленного программирования.

AMPL (http://www.ampl.com). Позволяет решать задачи до 300 переменных и 300 ограничений плюс целевые функции. Имеется выбор решателей для задач нелинейного программирования.

OPBDP (ftp://ftp.mpi-sb.mpg.de/pub/guide/staff/barth/opbdp/opbdp.html). Реализация переборного алгоритма для решения задач булевой оптимизации.

Omega (http://www.cs.umd.edu/projects/omega). Анализирует системы линейных уравнений с целочисленными переменными. Эта программа не решает задач оптимизации, однако может быть использована для анализа и упрощения моделей целочисленного линейного программирования.

WNLIB (http://www.willnaylor.com/wnlib.html). Cодержит алгоритмы сопряженного градиента и сопряженных направлений для решения задач нелинейного программирования.

GALAHAD (http://galahad.rl.ac.uk/galahad). Решение задачи нелинейного программирования большой размерности.

Также стоит отметить надстройку «Solver» для MS Office Excel 2007 (http://office.microsoft.com), при помощи которой производился поиск решений задач оптимизации в курсовой работе.

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

6

tbicr

1 Постановка задачи оптимизации

Автозавод выпускает автомобили двух моделей: «Шторм» и «Торнадо». На заводе работает 1000 неквалифицированных и 800 квалифицированных рабочих, работающих по 40 часов в неделю. Для производства одного автомобиля «Шторм» требуется 30 часов неквалифицированного и 50 часов квалифицированного труда, для производства автомобиля «Торнадо» – 40 часов неквалифицированного и 20 часов квалифицированного труда. Для выпуска каждого автомобиля «Шторм» требуются затраты в размере 1500 ден. ед. на сырье и комплектующее, для автомобиля «Торнадо» – 500 ден. ед. Суммарные затраты на сырье и комплектующие не должны превосходить 900 тыс. ден. ед. в неделю. Рабочие, осуществляющие доставку автомобилей торговым организациям, работают по пять дней в неделю и могут вывезти с автозавода не более 210 автомобилей в день.

Каждый автомобиль «Шторм» приносит автозаводу прибыль в размере 1000 ден. ед., каждый автомобиль «Торнадо» – 500 ден. ед.

Составить план выпуска автомобилей, обеспечивающий максимальную прибыль.

7

tbicr

2Построение базовой аналитической модели

Вданной задаче требуется определить, какое количество автомобилей «Шторм» и «Торнадо» нужно выпускать автозаводу, чтобы получать максимальную прибыль.

Для построения математической модели задачи введем переменные. Обозначим

через x1 количество автомобилей «Шторм», а через x2 – количество автомобилей

«Торнадо», выпускаемых автозаводом.

В данной задаче имеются ограничения:

а) на квалифицированный и неквалифицированный труд; б) на максимальные расходы, связанные с производством автомобилей;

в) на максимальное количество вывозимых с завода автомобилей.

Найдем количество часов неквалифицированного и квалифицированного труда в неделю. Так как на заводе работают 1000 неквалифицированных и 800 квалифицированных рабочих, предоставляющих неквалифицированный и квалифицированный труд соответственно, а в неделю каждый рабочий работает по 40 часов, то на автозаводе в неделю предоставляется 40×1000 = 40000 часов неквалифицированного и 40 ×800 = 32000 часов квалифицированного труда.

Найдем максимально допустимое количество автомобилей, вывозимых с завода в неделю. Так как ежедневно с завода можно вывозить не более 210 автомобилей, а рабочая неделя составляет 5 дней, то в неделю с завода можно вывозить не более 210×5 =1050 автомобилей.

Затраты на выпуск автомобилей приведены в таблице 2.1.

Таблица 2.1 – Затраты на выпуск автомобилей

Ресурсы

 

Автомобили

Всего

 

 

 

«Шторм»

 

«Торнадо»

 

 

 

 

 

 

 

 

Неквалифицированный

30

 

40

40000

труд, ч.

 

 

 

 

 

 

 

 

 

 

Квалифицированный

50

 

20

32000

труд, ч.

 

 

 

 

 

 

 

 

 

 

Затраты на выпуск,

1500

 

500

900000

ден. ед.

 

 

 

 

 

 

 

 

 

 

Составим ограничение на пользование неквалифицированным трудом. Для производства одного автомобиля «Шторм» требуется 30 часов неквалифицированного

8 tbicr

труда, для производства одного автомобиля «Торнадо» – 40 часов неквалифицированного труда. Следовательно, для выпуска автомобилей «Шторм» потребуется 30x1 часов неквалифицированного труда, а для «Торнадо» – 40x2 часов, то есть всего будет

использовано 30x1 +40x2 часов неквалифицированного труда.

Эта величина не должно

превышать 40000 часов. Поэтому можно записать ограничение в следующем виде:

30x1 +40x2 40000 .

(2.1)

Аналогично составим ограничение на пользование квалифицированным трудом:

50x1 +20x2 32000.

(2.2)

Составим ограничение на максимальные расходы, связанные с производством автомобилей:

1500x1 +500x2 900000 .

(2.3)

Составим ограничение на максимальное количество вывозимых с завода

автомобилей:

 

 

x1 + x2

1050.

(2.4)

Кроме того, переменные x1 и x2

по своему физическому смыслу

не могут

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

x1 0 , x2 0 ;

(2.5)

x1 , x2 – целые.

(2.6)

В данной задаче требуется определить план выпуска автомобилей,

обеспечивающий максимальную прибыль. Прибыль от выпуска

одного автомобиля

«Шторм» составляет 1000 ден. ед., от одного автомобиля «Торнадо» – 500 ден. ед. Значит

прибыль от выпуска автомобилей «Шторм» составит 1000x1

ден. ед., а автомобилей

9

tbicr

«Торнадо» – 500x2 ден. ед. Таким образом, общая прибыль от выпуска автомобилей составит 1000x1 +500x2 ден. ед. Требуется найти такие значения переменных x1 и x2 , при которых эта величина будет максимальной. Таким образом, целевая функция для данной задачи выражаться формулой (2.7).

E =1000x1 +500x2 max .

(2.7)

Приведем математическую модель рассматриваемой задачи:

E =

30x1

+ 40x2

40000;

50x1

+ 20x2

32000;

1500x1 +500x2

900000;

x1

+ x2

1050;

(2.8)

 

x1

0,

x2

0;

 

x1

целое,

x2

целое.

1000x1 +500x2 max .

10

tbicr

3 Обоснование вычислительной процедуры

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

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

Переменные x1 , и x2 в задаче должны принимать только целочисленные значения,

поэтому потребуется применение методов целочисленного программирования. В данном случае будет применен метод ветвей и границ. Переменные x1 и x2 – количество выпускаемых автомобилей «Шторм» и «Торнадо».

11

tbicr