- •Содержание
- •ВВЕДЕНИЕ
- •1. ПОСТАНОВКА ЗАДАЧИ И ОСНОВНЫЕ ПОНЯТИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •1.1. Понятие математической модели. Математическая модель в задачах линейного программирования
- •1.2. Примеры задач линейного программирования
- •1.3. Графический метод решения задач линейного программирования
- •1.4. Приведение задач линейного программирования к стандартной форме
- •2. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ НА ОСНОВЕ СИМПЛЕКС-МЕТОДА
- •2.1. Пример задачи линейного программирования: задача планирования производства
- •2.2. Принцип работы симплекс-метода
- •2.3. Определение начального допустимого решения
- •2.5. Решение задач линейного программирования средствами табличного процессора Excel
- •2.6. Анализ оптимального решения на чувствительность
- •2.6.1. Статус ресурсов
- •2.6.2. Ценность ресурсов
- •2.6.3. Анализ на чувствительность к изменениям запасов ресурсов
- •2.6.4. Анализ на чувствительность к изменениям коэффициентов целевой функции
- •3. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ НА ОСНОВЕ МЕТОДОВ ИСКУССТВЕННОГО БАЗИСА
- •3.1. Назначение и принцип работы методов искусственного базиса
- •3.2. Двухэтапный метод
- •3.3. Анализ оптимального решения на чувствительность
- •3.3.1. Анализ на чувствительность к изменениям правых частей ограничений “меньше или равно”
- •3.3.2. Анализ на чувствительность к изменениям правых частей ограничений “больше или равно”
- •3.3.3. Анализ на чувствительность к изменениям коэффициентов целевой функции
- •4. РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ НА ОСНОВЕ МЕТОДОВ ЛИНЕЙНОГО ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ
- •4.1. Назначение методов целочисленного программирования
- •4.2. Метод ветвей и границ
- •5. ТРАНСПОРТНЫЕ ЗАДАЧИ
- •5.1. Постановка задачи
- •5.2. Поиск допустимого решения
- •5.3. Поиск оптимального решения. Метод потенциалов
- •5.4. Транспортные задачи с неправильным балансом
- •5.5. Вырожденное решение
- •6. РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ НА ОСНОВЕ МЕТОДОВ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •6.1. Постановка задачи нелинейного программирования
- •6.2. Примеры задач нелинейного программирования
- •6.4. Решение задач нелинейного программирования средствами табличного процессора Excel
- •7. РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ НА ОСНОВЕ МЕТОДА ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
- •7.1. Постановка задачи. Принцип работы метода динамического программирования
- •7.2. Примеры решения задач на основе метода динамического программирования
- •8. АНАЛИЗ И ОПТИМИЗАЦИЯ РЕШЕНИЙ НА ОСНОВЕ МОДЕЛЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ
- •8.1. Понятие системы массового обслуживания
- •8.2. Потоки заявок в СМО. Законы распределения интервалов времени между заявками и времени обслуживания
- •8.3. Типовой узел СМО. Классификация СМО
- •8.4. Параметры и характеристики СМО
- •8.5. Вероятности состояний СМО
- •8.6. Экономические характеристики СМО
- •8.7. Одноканальные СМО без ограничений на очередь
- •8.8. Многоканальные СМО без ограничений на очередь
- •8.9. СМО с ограничением на длину очереди
- •8.10. СМО без очереди
- •8.11. СМО с заявками с разным временем обслуживания
- •8.12. СМО с приоритетами
- •8.13. Многофазные СМО. Сети СМО
- •8.14. Замкнутые СМО
- •9.1. Понятия риска и неопределенности. Постановка задачи
- •9.2. Методы выбора решений в условиях риска и неопределенности
- •9.2.1. Выбор решений при известных вероятностях внешних условий. Критерий Байеса
- •9.2.2. Выбор решений при неизвестных вероятностях внешних условий
- •Литература
2.5.Решение задач линейного программирования средствами табличного процессора Excel
Табличный процессор Excel имеет развитые средства, позволяющие решать разнообразные задачи оптимизации, в том числе задачи линейного и нелинейного математического программирования.
Решим задачу из примера 2.1, используя табличный процессор Excel. Предположим, что желательно получить результаты (значения перемен-
ных X1 и X2) в ячейках B2 и C2 (конечно, можно использовать и любые другие ячейки). В ячейках B3 и C3 введем коэффициенты целевой функции (100 и 300). В ячейке D3 введем формулу целевой функции:
=СУММПРОИЗВ(B3:C3;B2:C2)
Вячейках B4 и C4 введем коэффициенты первого ограничения (на расход алюминия): 20 и 5. В ячейке D4 введем формулу этого ограничения:
=СУММПРОИЗВ(B4:C4;B2:C2)
Вячейке F4 введем правую часть этого ограничения: 200.
Аналогично в ячейках B5 и C5 введем коэффициенты ограничения на расход стали (10 и 5), в ячейке D5 – формулу этого ограничения (=СУММПРОИЗВ(B5:C5;B2:C2)), в ячейке F5 – правую часть (250). В ячейках B6 и C6 введем коэффициенты ограничения на расход пластмассы (5 и 20), в ячейке D6 – формулу этого ограничения (=СУММПРОИЗВ(B6:C6;B2:C2)), в ячейке F6 – правую часть (500).
Примечание. Вводить описание математической модели в рабочий лист Excel можно и по-другому. Например, для ввода целевой функции достаточно в любой ячейке указать формулу: =100*B2+300*C2. Для ввода первого ограничения достаточно в одной из ячеек указать формулу =20*B2+5*C2, а в другой – правую часть ограничения (200). Однако показанный выше способ позволяет при необходимости легко внести изменения в постановку задачи.
Укажем также некоторые поясняющие надписи и обозначения (хотя это и необязательно). Рабочий лист будет иметь примерно такой вид, как показано на рис.2.3.
Рис.2.3. Рабочий лист Excel для решения примера 2.1
Примечание. Подписи и обозначения на рабочем листе (X1, X2, ->, >= и т.д.), показанные на рис.2.3, необязательны. Значения 0 в ячейках D3-D6 получены автоматически для начальных значений переменных, равных нулю.
22
Для решения задачи из меню “Сервис” выберем элемент “Поиск решения”. В поле “Установить целевую ячейку” указывается ячейка D3, где находится формула целевой функции. Используя переключатели, необходимо указать, что требуется установить ячейку D3 “равной максимальному значению” (так как целевая функция в этой задаче подлежит максимизации). В поле “Изменяя ячейки” указываются ячейки, в которых должны находиться значения переменных: B2:C2.
В области “Ограничения” указываются ограничения. Для начала их ввода требуется нажать кнопку “Добавить”. На экран выводится окно “Добавление ограничения”. В этом окне в поле “Ссылка на ячейку” указывается ячейка, в которой находится левая часть (формула) ограничения, а в поле “Ограничение” - правая часть ограничения (число или ссылка на ячейку, где находится правая часть ограничения). Чтобы задать первое из ограничений (на расход алюминия), требуется в поле “Ссылка на ячейку” указать ячейку D4, выбрать знак ограничения (<=), а в поле “Ограничение” указать ячейку F4. Для ввода ограничения требуется нажать кнопку “Добавить”. Аналогично вводятся остальные ограничения. Для ввода ограничения на расход стали требуется в поле “Ссылка на ячейку” ввести D5, в поле знака ограничения - знак <=, в поле “Ограничение” – F5. Для ввода ограничения на расход пластмассы требуется в поле “Ссылка на ячейку” ввести D6, в поле знака ограничения - знак <=, в поле “Ограничение” – F6. Кроме того, требуется ввести ограничение на неотрицательность всех переменных: B2:C2>=0. Необходимо также указать, что переменные, определяемые в задаче, должны принимать целочисленные значения (так как они обозначают количество изделий). Для этого необходимо в поле “Ссылка на ячейку” указать B2:C2, а в поле знака ограничения выбрать отметку “цел”. По окончании ввода всех ограничений требуется нажать OK.
Для решения задачи следует нажать кнопку “Выполнить”. После появления окна с сообщением о том, что решение найдено, следует установить переключатель “Сохранить найденное решение” и нажать OK. Рабочий лист с результатами решения будет иметь примерно такой вид, как показано на рис.2.4.
Рис.2.4. Рабочий лист Excel с результатами решения примера 2.1
В ячейках B2 и C2 получены оптимальные значения переменных, в ячейке D3 – оптимальное значение целевой функции. Таким образом, за смену цех должен выпускать 4 корпуса и 24 задвижки. Прибыль составит 7600 ден.ед. Эти результаты совпадают с результатами, полученными с помощью графического метода и симплекс-метода.
23