- •Содержание
- •1. Задача линейного программирования. 5
- •1.2 Решение с помощью пакета WinQsb. 6
- •2. Транспортная задача 15
- •2. Решение с помощью пакета WinQsb 16
- •Введение.
- •1. Задача линейного программирования. Описание ситуации.
- •1.2 Решение с помощью пакета WinQsb. Запуск программы
- •Задание параметров задачи
- •Ввод числовых данных
- •Нахождение решения
- •Анализ оптимального решения и его чувствительности
- •Получение альтернативных решений
- •Параметрический анализ
- •Решающая функция
- •2. Транспортная задача Пример
- •2. Решение с помощью пакета WinQsb Запуск программы
- •Задание параметров задачи
- •Ввод числовых данных
- •Нахождение решения
- •Анализ оптимального решения и его чувствительности
- •Варианты транспортной задачи
- •Получение альтернативных решений
- •Анализ «Что-если»
- •Параметрический анализ
- •Решающая функция
- •Литература:
Варианты транспортной задачи
При решении транспортных задач могут встретиться случаи, отличные от только что рассмотренного:
Если перевозки груза характеризуются не затратами, а выручкой или прибылью, то транспортная задача решается так же, как в описанном выше примере, но целевая функция максимизируется.
Если суммарные потребности и запасы груза не совпадают, то программа автоматически вводит фиктивный пункт отправления под именем Unfilled_Demand (Невыполненная заявка) или фиктивный пункт назначения, обозначаемый Unused_Supply (Неизрасходованный запас). При этом затраты на перевозки из фиктивного пункта (или в фиктивный пункт) полагаются равными нулю, а запасы (или потребности) в фиктивном пункте полагаются равными недостающему (или избыточному) количеству груза. Полученная в отчете перевозка из фиктивного пункта отправления (Unfilled_Demand) в реальный пункт назначения трактуется как груз, недопоставленный в этот пункт назначения. А перевозка из реального пункта от правления в фиктивный пункт назначения (Unused_Supply) указывает количество груза, оставшегося невывезенным на этом пункте отправления.
• Если по условию задачи какая-либо перевозка выполнена быть не может, то для нее нужно указать неприемлемые затраты на перевозку единицы груза. В качестве таких затрат введите: в задаче на минимум — большое число, значительно превышающее тарифы других перевозок, или латинскую букву М, а в задаче на максимум — наоборот, маленькое число, значительно меньшее остальных (можно даже отрицательное), или латинскую букву М с минусом (-М).
Получение альтернативных решений
Когда получено оптимальное решение, можно получить альтернативные оптимальные решения, с помощью команды Results, Obtain Alternative Solution. Если таких решений нет, эта команда недоступна. Кроме того, сигналом наличия альтернативных решений является нулевая нормированная стоимость у небазисных перевозок (см. рис.6).
При каждом выборе этой команды появляется табличный отчет с новым альтернативным оптимальным решением. Решения меняются циклически: после их полного просмотра цикл повторяется. Вид отчета (с нулевыми перевозками или без них) зависит от того, какой отчет открывался последним, перед обращением к данной команде.
Анализ «Что-если»
После решения транспортной задачи часто возникает необходимость выяснить, каким будет решение при других значениях исходных данных: тарифов перевозок, запасов в пунктах отправления или потребностей в пунктах назначения. Можно, конечно, вернуться в окно с исходными данными, изменить их и повторить решение. Но в этом случае пропадают первоначальные данные, а это не всегда желательно. Поэтому лучше воспользоваться анализом «Что-если». Это, фактически, многократное решение задачи с разными наборами данных, но при сохранении исходной задачи.
А нализ «Что-если» можно выполнить с помощью команды Perform What If Analysis только после нахождения оптимального решения. Эту команду выберите либо в меню Solve and Analyze, либо в меню Results. Откроется окно для задания исходных данных анализа (рис. 8).
Рис. 8. Анализ что-если.
По умолчанию в поле Analysis on выбран параметр Link (Arc) Coefficient (Cost/Distance), предполагающий анализ изменений тарифов перевозок. Если вы хотите проанализировать изменение одного тарифа, выберите в списке справа соответствующее направление перевозки и затем введите новый тариф в поле Link Cost/Distance. После щелчка кнопки ОК появится таблица отчета о решении задачи с новым значением введенного параметра.
Вид отчета (с нулевыми перевозками или без них) зависит от того, какой отчет открывался последним, перед выполнением анализа «Что-если».
Если нужно проанализировать одновременное изменение нескольких тарифов, то щелкните кнопку Vector (в правом нижнем углу) и в появившемся окне задайте новое значение каждого тарифа.
После щелчка в этом и предыдущем окнах кнопки ОК появится таблица с отчетом о новом решении.
Если нужно проанализировать изменение запасов или потребностей в одном из пунктов отправления или назначения, то проделайте следующее. В поле Analysis on выберите параметр Node Value (Supply/Demand) (см. рис. 8), после этого в списке справа выберите название пункта, а затем в поле Link Cost/Distance введите новое значение изменяемого параметра.
После щелчка кнопки ОК появится отчет о новом решении. Одновременное изменение запасов или потребностей в нескольких пунктах в рассматриваемой версии программы исследовать не удается.