
- •Исследование операций и методы оптимизации
- •Введение
- •1. Общая постановка задачи линейного программирования. Графическое решение злп. Каноническая форма. Базисное решение
- •Основные определения
- •. Графический метод решения задачи линейного программирования
- •Лабораторная работа №1
- •1.3. Каноническая форма задачи линейного программирования. Приведение к канонической форме
- •1.4. Базисное решение злп
- •1.5. Перестроение базисного решения злп
- •Лабораторная работа № 2
- •2. Симплекс-метод
- •2.1. Основная теорема линейного программирования
- •2.2. Алгоритм симплекс метода
- •Лабораторная работа № 3
- •2.3. Симплекс-метод с искусственным базисом
- •Лабораторная работа №4
- •3. Двойственность в злп
- •Основные понятия и определения
- •3.2. Леммы и теоремы двойственности
- •Лабораторная работа № 5
- •4. Транспортная задача
- •4.1. Математическая модель транспортной задачи
- •4.2. Построение начального базисного решения
- •4.3. Метод потенциалов
- •4.4. Правило вычеркивания
- •4.5. Транспортные задачи, имеющие усложнения в постановке
- •Лабораторная работа № 6
- •5. Теория расписаний
- •5.1. Общие положения
- •5.2. Задача о назначениях
- •5.2.1. Постановка задачи
- •5.2.2. Способ задания задачи о назначениях и ее анализ
- •5.2.3. Венгерский метод
- •Лабораторная работа №7
- •5.4. Система конвейерного типа с двумя приборами
- •5.4.1 Постановка задачи
- •5.4.2. Диаграмма Гантта
- •5.4.3. Вычисление длины расписания
- •Достаточное условие оптимальности расписания
- •5.4.4. Алгоритм построения расписания минимальной длины
- •5.5. Конвейерная система с тремя и более приборами
- •5.5.1. Вычисление длины расписания для системы с тремя приборами
- •5.5.2. Системы, для которых возможно построение оптимального расписания
- •5.5.3. Эвристические алгоритмы
- •5.5.4. Оценки длины расписаний
- •Лабораторная работа № 8
- •Библиографический список
- •Исследование операций и методы оптимизации
- •230700 «Прикладная информатика»
- •3 94006 Воронеж, ул. 20-летия Октября, 84
1.4. Базисное решение злп
Рассмотрим ЗЛП в каноническом виде.
(1.4.1)
,
где
,
.
Будем
считать, что
,
то есть матрица А
имеет m
линейно независимых столбцов. Допустимое
решение
,
называется базисным
решением
или опорным
планом, если
положительным значениям
соответствуют
линейно независимые столбцы матрицы
А.
Базисное решение имеет не больше, чем m положительных компонент. Если число положительных компонент равно m, то решение называется невырожденным, и соответствующие столбцы матрицы А образуют базис в m-мерном пространстве. Если число положительных компонент меньше m, то решение называется вырожденным. Тогда, чтобы получить базис, к тем столбцам, которые соответствуют положительным компонентам, надо добавить столбцы с нулевыми компонентами.
Сформулируем без доказательства.
Утверждение
1:
Если ЗЛП разрешима, то для нахождения
оптимального решения достаточно
перебрать только базисные решения,
число которых конечно и не превосходит
.
Рассмотрим
сначала способ перестроения базисного
решения системы
без условия неотрицательности.
Пусть матрица А имеет вид
,
где Е – единичная матрица.
Обозначим
через
множество номеров единичных столбцов
матрицы А
и через
множество остальных номеров столбцов.
Вектор X
представим в виде
,
где
и
Вектор
представим в виде
.
Тогда система примет вид
.
Если
положить
,
то получим базисное решение
.
Будем получать новое базисное решение, заменяя один из базисных столбцов на столбец, ранее принадлежащий . Это можно сделать с помощью алгоритма Жордана-Гаусса.
Пусть
выбрано
(номер столбца, который будет вводиться
в базис) и
- направляющий элемент.
Шаг 1: l-строка делится на направляющий элемент.
В новой итерации эта строка будет иметь номер k.
,
,
.
Шаг
2: Для
,
.
Шаг
3:
,
.
1.5. Перестроение базисного решения злп
Алгоритм Жордана-Гаусса не учитывает условия неотрицательности переменных. Для того чтобы это условие было учтено, надо выбирать k, а также так, чтобы условие неотрицательности сохранилось.
Так как ЗЛП рассматривается в канонической форме, то начальное базисное решение - неотрицательно.
Заметим,
что если столбец
,
то его нельзя вводить в базис, так как
при любом выборе направляющего элемента
,
поэтому для введения в базис необходимо
выбирать столбец
,
такой, что существует
.
Кроме
того, как следует из алгоритма
Жордана-Гаусса, для
.
Следовательно, необходимо выбрать
таким образом, чтобы выполнилось условие:
для всех
.
Если
,
то
для любого
.
Если
,
то существует максимальное
,
при котором
.
Его можно найти по правилу
.
Алгоритм перестроения базисного решения ЗЛП
Пусть определен столбец с номером k, подлежащий введению в базис.
Шаг 1: Определить l (номер выводимого столбца) по правилу
.
Шаг 2: Переход к алгоритму Жордана-Гаусса.
Шаг
3: Вычислить
значение целевой функции по формуле
.
Из рассмотренного выше алгоритма следует, что перебрав с его помощью все базисные решения можно найти оптимальную точку.
Пример 1.4. Дана ЗЛП в канонической форме. Требуется найти оптимальное решение с помощью перебора базисных решений.
,
.
Решение.
Оформим решение задачи в виде таблицы
(табл. 1.4.). В первом столбце поместим
текущие базисные переменные, во втором
- их коэффициенты в целевой
функции, в третьем - базисные координаты
текущей точки
.
Далее переписываем
элементы матрицы
,
помещая
над каждым столбцом коэффициент
соответствующей переменной в целевой
функции. Последний столбец предназначается
для определения значения
.
В последней строке под
записывается значение целевой функции,
остальные клетки этой строки пока не
заполнены.
Таблица 1.4
|
|
|
5 |
2 |
-1 |
-2 |
1 |
|
Базисное решение |
|
|
|
|
|
|||||
|
-2 |
3 |
2 |
1 |
-1 |
1 |
0 |
3 |
|
|
1 |
5 |
1 |
1 |
2 |
0 |
1 |
5 |
|
|
-1 |
|
˅ |
|
|
|
|
||
|
2 |
3 |
2 |
1 |
-1 |
1 |
0 |
|
|
|
1 |
2 |
-1 |
0 |
3 |
-1 |
1 |
|
|
|
8 |
|
|
|
|
|
|
||
|
2 |
|
|
1 |
0 |
|
|
|
|
|
-1 |
|
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
-2 |
|
|
|
0 |
1 |
|
|
|
|
-1 |
|
|
|
1 |
0 |
|
5 |
|
|
|
˅ |
|
|
|
|
|
||
|
5 |
|
1 |
|
0 |
|
|
|
|
|
-1 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
˅ |
|
||
|
5 |
|
1 |
|
|
|
0 |
|
|
|
1 |
|
0 |
|
|
|
1 |
|
|
|
11 |
|
|
|
|
|
|
Перебраны
все базисные точки, и оптимальной точкой
является
со значением
.