ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.12.2024

Просмотров: 519

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

21

Министерство общего и профессионального

ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

__________________________________

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ

КОЛОМЕНСКИЙ ИНСТИТУТ

"УТВЕРЖДЕНО"

Учебно-методическим

Советом КИ МГОУ

Председатель Совета

_____________________

А.М. Липатов

"___"__________1999 г.

Трушков А.С.

ИНСТРУКЦИЯ

для выполнения лабораторной работы

по математическому программированию

РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО

ПРОГРАММИРОВАНИЯ

г. Коломна

1999 г.

Содержание

1.

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

2

2.

Соотношения двойственности ………………………………………………...

2

3.

Решение детерминированной задачи ........……………………………………

4

4.

Решение ЗЛП с помощью соотношений двойственности .............................

7

5.

Задание для лабораторной работы ..................................................................

13

6.

Литература ........................................................................................................

14

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

15


1. Введение

Лабораторная работа выполняется с помощью программы ²Решение и моделирование задач линейного программирования² /1/. Программа написана на алгоритмическом языке Visual Basic for Application (VBA) и оформлена в виде модуля табличного процессора Excel 97. Программа позволяет решать задачи линейного программирования (ЗЛП) для детерминированных исходных данных, а также проводить имитационное моделирование для линейных моделей при стохастических исходных данных для оценивания параметров распределения вероятностей переменных оптимального плана и значения целевой функции.

Целью лабораторной работы в курсе “Математического программирования” является освоение программы, а также реализация вычислительных процедур симплекс-метода с помощью встроенных функций табличного процессора Excel.

2. Соотношения двойственности

Задача линейного программирования в стандартной форме записывается в следующем виде /2/:

Здесь последние m переменных являются переменными начального базиса. Введем обозначения:

единичная матрица

размера m

-

Столбцы коэффициентов при переменных равны:

Тогда (А,I) - блочная матрица коэффициентов ограничений. ЗЛП в стандартной форме в векторно-матричной форме можно записать в следующем виде:

или

Двойственная задача в этих обозначениях формулируется следующим образом:

где - вектор-строка двойственных переменных.

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

1) столбец левой части или правой части вычисляются как произведения матрицы на вектор-столбец или исходной таблицы:


Если обозначить - матрицу правой части симплекс-таблицы на текущей итерации, то:

;

2) элемент строки целевой функции (оценок плана) определяется как разность левой и правой части соответствующего ограничения двойственной задачи:

Вектор двойственных переменных на любой итерации определяется как произведение вектор-строки исходных коэффициентов целевой функции при базисных переменных прямой задачи на рассматриваемой итерации на матрицу : . Порядок элементов вектора соответствует порядку базисных элементов в столбце “БП”.

Введем вектор оценок плана (коэффициентов z-стороки симплекс-таблицы): . На основе вышесказанного имеет место следующее соотношение:

или

Значение целевой функции определяется по формуле:

Решение двойственной задачи можно найти, зная решение прямой задачи: .


3. Решение детерминированной задачи.

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

Рассмотрим порядок решения задачи линейного программирования с помощью программы на следующем примере:

max z = -x1 + 2x2 + x3

2x1 + 3x2 - 5x3 3

-x1 + 9x2 - x3 5

4x1 + 6x2 + 3x3 15

xi 0

Для приведения задачи к стандартной форме вводим дополнительные переменные:

max z = -x1 + 2x2 + x3

2x1 + 3x2 - 5x3 - x4 = 3

-x1 + 9x2 - x3 - x5 = 5

4x1 + 6x2 + 3x3 + x6 = 15

xi 0

Матрица системы ограничений не содержит выделенной единичной матрицы:

.

Для запуска вычислительных процедур симплекс-метода необходимо ввести в модель искусственные переменные таким образом, чтобы в матрице А была явно выделена единичная матрица. Для этого необходимо в матрицу А ввести единичные вектор-столбцы, связанные со 2-ой и 3-ей строкой:

.

Теперь матрица А содержит единичную матрицу, связанную с тремя последними столбцами, причем столбцы 7 и 8 ассоциируются с введенными искусственными переменными. Для удобства дальнейших вычислений целесообразно представить единичную матрицу в диагональном виде перестановкой столбцов матрицы А, что эквивалентно перенумерации переменных модели:


.

В данной матрице столбцы 6 и 7 связаны с искусственными переменными.

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

max z = -x1 + 2x2 + x3 - Mx6 - Mx7

2x1 + 3x2 - 5x3 - x4 + x6 = 3

-x1 + 9x2 - x3 - x5 + x7 = 5

4x1 + 6x2 + 3x3 + x8 = 15

xi 0

Модель содержит 8 переменных, из них x1, х2, х3 - исходные, х4, х5, х8 - дополнительные, х6 и х7 - искусственные. Искусственные переменные вводятся в целевую функцию со штрафом М (в задаче максимизации искусственные переменные входят в целевую функцию со штрафом ).

Исходные данные модели имеют вид:

= (-1; 2; 1; 0; 0; -М; -М; 0) - вектор коэффициентов целевой функции;

- матрица коэффициентов системы ограничений;

- вектор правых частей системы ограничений.

Вектор целевой функции раскладывается на два слагаемых:

,

где содержит коэффициенты при исходных переменных, а - при искусственных. Для рассматриваемой модели: = (-1; 2; 1; 0; 0; 0 ; 0; 0), = (0; 0; 0; 0; 0; -1; -1; 0).