- •Содержание
- •1. Задача линейного программирования. 5
- •1.2 Решение с помощью пакета WinQsb. 6
- •2. Транспортная задача 15
- •2. Решение с помощью пакета WinQsb 16
- •Введение.
- •1. Задача линейного программирования. Описание ситуации.
- •1.2 Решение с помощью пакета WinQsb. Запуск программы
- •Задание параметров задачи
- •Ввод числовых данных
- •Нахождение решения
- •Анализ оптимального решения и его чувствительности
- •Получение альтернативных решений
- •Параметрический анализ
- •Решающая функция
- •2. Транспортная задача Пример
- •2. Решение с помощью пакета WinQsb Запуск программы
- •Задание параметров задачи
- •Ввод числовых данных
- •Нахождение решения
- •Анализ оптимального решения и его чувствительности
- •Варианты транспортной задачи
- •Получение альтернативных решений
- •Анализ «Что-если»
- •Параметрический анализ
- •Решающая функция
- •Литература:
1. Задача линейного программирования. Описание ситуации.
Требуется определить план выпуска 4 видов мороженного: рожок, брикет, в стаканчике и на палочке завода по производству полуфабрикатов глубокой заморозки. На изготовление расходуются трудовые ресурсы, сырье и финансы. Границы выпуска каждого вида продукции, а так же наличие и нормы расхода ресурсов, маржинальная прибыль на единицу продукции приведены в таблице 1:
Ресурсы |
Продукт 1 |
Продукт 2 |
Продукт 3 |
Продукт 4 |
Наличие |
Прибыль |
80 |
70 |
120 |
150 |
|
Труд |
2 |
3 |
2 |
3 |
35 |
Сырье |
8 |
5 |
6 |
5 |
85 |
Финансы |
6 |
8 |
10 |
9 |
130 |
нижн. гр. |
1 |
1 |
2 |
3 |
|
верхн. гр. |
6 |
- |
4 |
5 |
|
Таблица 1. Исходные данные.
Необходимо создать производственный план, обеспечивающий наибольшую прибыль, выполнить параметрический анализ при одновременном изменении нескольких а) коэффициентов, б) правых частей ограничений.
О бозначив количество выпускаемой продукции через x1, x2, x3, x4, а целевую функцию (валовую маржинальную прибыль) – через F, построим математическую модель задачи: F = 80x1 + 70x2 + 120x3 + 150x4 max,
Три неравенства – ограничения:
2 x1 + 3 x2 + 2 x3 + 3 x4 ≤ 35,
8 x1 + 5 x2 + 6 x3 + 5 x4 ≤ 85,
6 x1 + 8 x2 + 10 x3 + 9 x4 ≤ 130;
три неравенства – граничные условия:
1 ≤ x1 ≤ 6,
1 ≤ x2,
2 ≤ x3 ≤ 4,
2 ≤ x4 ≤ 5.
1.2 Решение с помощью пакета WinQsb. Запуск программы
Чтобы запустить программу для решения задачи линейного и целочисленного программирования, необходимо в главном меню (Пуск) выбрать программную группу WinQSB и выберите в ней программу Liner and Integer Programming.
Задание параметров задачи
Для ввода новой задачи нужно выбрать команду File, затем New Problem. В открывшемся окне задается:
В поле Problem Title – название задачи,
в поле Number of Variables – количество переменных,
в поле Number of Constrains – количество ограничений,
в поле Maximization/Minimization – вариант оптимизации,
Data Entry Format – форма задачи матричная (Spreadsheet Matrix Form) или стандартная (Normal Model Form)
т ип переменных – непрерывные неотрицательные (Nonnegative integer), целые неотрицательные (Nonnegative integer), двоичные (Binary (0,1)) или свободные, то есть произвольного знака (Unsigned/unrestricted).
Рис. 1. Ввод параметров решения задачи линейного программирования.
Ввод числовых данных
Е сли выбрана матричная форма задачи, откроется окно с таблицей для ввода данных: коэффициентов целевой функции и ограничений, правых частей ограничений, а так же выбора их знаков.
Рис. 2.Задание коэффициентов целевой функции и ограничений
В строке Variable — установленные по умолчанию имена переменных. В строке Maximize (или Minimize) вводятся коэффициенты целевой функции. Обозначения С1, С2, СЗ и т. д. — это установленные по умолчанию названия ограничений. В соответствующих строках вводятся коэффициенты этих ограничений, за которыми следуют их знаки (в столбце Direction) и правые части (в столбце R. H. S.). Ниже — две строки для задания граничных условий: LowerBound и UpperBound. В первой из них вводятся нижние границы переменных, а во второй — верхние. По умолчанию все нижние границы равны 0, а все верхние равны бесконечности, которая обозначается большой латинской буквой М. В строке Variable Туре указан заданный вами тип переменных: Continuous (Непрерывная), Integer (Целая), Binary (Двоичная) или Unrestricted (Свободная).
Примечание: при вводе чисел, имеющих дробную часть, используйте в качестве разделителя целой и дробной части точку, а не запятую.
При вводе данных, набрав число или знак, следует нажать клавишу Enter, чтобы перейти на следующую позицию ввода. Кроме того, можно выполнять следующие действия:
• Перемещаться по таблице — с помощью клавиши Tab или клавиш со стрелками.
• Выбрать ячейку таблицы — щелчком этой ячейки.
Редактировать содержимое ячейки таблицы — после щелчка голубого поля над таблицей. При этом выбранная ячейка выделится цветом и можно редактировать ее содержимое.
Изменить знак ограничения — двойным щелчком знака. Если двойной щелчок выполнить несколько раз, знаки будут меняться циклически (<=, >=, =).
Изменить тип переменной — двойным щелчком слова, обозначающего тип этой переменной в строке Variable Type. При нескольких двойных щелчках названия типов будут меняться циклически (Continuous, Integer, Binary, Unrestricted).
С помощью указанных далее команд меню Edit можно изменить следующие параметры задачи:
Название задачи — Problem Name.
Имена переменных — Variable Names.
Названия ограничений — Constraint Names.
Вариант оптимизации целевой функции — Objective Function Criterion (максимизация меняется на минимизацию или наоборот).
Количество ограничений — Insert a Constraint или Delete a Constraint (ограничения добавляются или удаляются).
Количество переменных — Insert a Variable или Delete a Variable (переменные добавляются или удаляются).
Воспользуемся этими командами, чтобы в нашей задаче ввести русские названия переменных и ограничений (рис. 3).
Р ис. 3 Изменение названия переменных и ограничений.
С помощью перечисленных далее команд меню Format могут быть изменены:
Форма задачи — Switch to Normal Model Form или Switch to Matrix Form (перейти в стандартную или матричную форму). Выбрав любую форму задачи, вы можете построить задачу, двойственную к ней, с помощью команды Switch to Dual Form.
Формат чисел— Number.
Шрифт и цвет — Font.
Выравнивание—Alignment.
Высота строк — Row Height.
Ширина столбцов — Column Width.
Чтобы сохранить данные воспользуйтесь командой File, Save Problem As.