Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Методы оптимальных решений часть I .doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.63 Mб
Скачать

Задания для решения в аудитории

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

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

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

1) 2) 3)

Ответы: 1. . 2. , , . 3. Оптимального решения нет, .

1.5. Метод искусственного базиса

Данный метод применяется, если в задаче линейного программирования сразу не получилось начальное допустимое базисное решение.

Пусть имеется каноническая задача линейного программирования:

, , и , .

Алгоритм метода искусственного базиса:

1. К левым частям уравнений системы ограничений, из которых появляются отрицательные компоненты в базисном решении, прибавляются искусственные переменные , которые выбираются в качестве базисных:

.

Искусственные переменные могут быть введены в одно, несколько или все уравнения системы ограничений.

2. В целевую функцию эти искусственные переменные в задаче на максимум вводятся с коэффициентом , а в задаче на минимум с коэффициентом , где - число намного большее единицы.

3. Записывается новая целевая функция:

,

.

После подстановки выражений искусственных переменных из системы ограничений в выражения для и приведения подобных выражения новой целевой функции могут быть записаны в виде:

,

.

4. В симплексную таблицу целевая функция записывается в виде двух строк и . Для задачи на максимум в строку для записываются коэффициенты , в строку для коэффициенты .

5. При переходе искусственных переменных из числа базисных в число свободных столбцы, соответствующие этим искусственным переменным в каждой последующей симплексной таблице вычеркиваются.

6. Чтобы определить разрешающий столбец в задаче на максимум, в строке функции выбирается наибольший положительный элемент. Ему соответствует разрешающий столбец.

7. Разрешающая строка определяется как в обычном симплексном методе.

8. После перехода всех искусственных переменных из числа базисных в число свободных, будет получено допустимое решение. При этом строка должна получиться нулевой.

9. Дальше задача решается обычным симплексным методом.

Пример 9. Решить задачу линейного программирования методом искусственного базиса:

,

, , .

Решение.

1. Задача приведена к каноническому виду. Для системы ограничений соответствует матрица: . Как видно из матрицы система ограничений не приведена к допустимому виду.

2. Введем искусственные переменные в систему ограничений:

.

3. Запишем новую целевую функцию:

.

Приведем подобные и запишем:

.

4. Составим симплексную таблицу. Так как в последней строке все положительные элементы одинаковые, выберем любой, например, первый. Тогда столбец разрешающий. Оценки для первой и третьей строки одинаковые, поэтому в качестве разрешающей возьмем любую, например, первую. Тогда - разрешающий элемент.

1

-1

1

-1

0

1

0

0

2

-1

1

2

0

1

0

1

0

4

2

0

-1

1

1

0

0

1

4

3

2

-2

3

1

0

0

0

0

2

0

2

0

2

0

0

0

10

Выполним действия: , , , . При этом искусственная переменная становится свободной, а - базисной. Столбец искусственной переменной в новой таблице можно исключить.

1

-1

1

-1

0

0

0

2

0

0

3

-1

1

1

0

6

0

2

-3

3

1

0

1

0

0

5

-5

6

1

0

0

-6

0

2

0

2

2

0

0

6

Выполним действия: , , . При этом искусственная переменная становится свободной, а - базисной. Столбец искусственной переменной в новой таблице можно исключить.

1

-1

1

-1

0

0

2

0

-2

6

-4

0

1

6

0

2

-3

3

1

0

0

-

0

3

-2

3

0

0

-6

0

-2

6

-4

0

0

6

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

1

-2/3

0

-1/3

0

1

0

-1/3

1

-2/3

0

1

0

1

0

1

1

3

0

7/3

0

5/3

0

-4

0

0

0

0

0

0

Последнюю строку можно вычеркнуть. Таким образом, получено начальное допустимое решение , при котором .

4. Дальше применяем обычный симплексный метод. Выполним действия: , , . Переменная становится свободной, а - базисной.

1

0

0

1/3

2/3

3

0

0

1

-1/3

1/3

2

0

1

0

1

1

3

0

0

0

-2/3

-7/3

-11

В последней строке коэффициенты при свободных переменных и отрицательные, следовательно, оптимальное решение найдено: и .

Пример 10. Решить задачу линейного программирования методом искусственного базиса:

, , , .

Решение.

1. Приведем задачу к каноническому виду. Введем балансовые переменные: .

2. Балансовые переменные и могут быть выбраны в качестве базисных. Переменная не совпадает по знаку со свободным членом.

3. Введем в первое уравнение искусственную переменную:

.

4. Запишем новую целевую функцию:

или

.

5. Составим симплексную таблицу. В последней строке наибольший положительный элемент находится в первом столбце. Столбец разрешающий. В разрешающем столбце положительный элемент есть только в первой строке, поэтому оценки находить не надо. Первая строка – разрешающая.

2

0

1

-1

0

0

1

2

-1

1

1

0

1

0

0

6

-3

2

1

0

0

1

0

8

1

-1

-2

0

0

0

0

0

2

0

1

-1

0

0

0

2

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

1

0

1/2

-1/2

0

0

1

0

1

3/2

-1/2

1

0

7

0

2

5/2

-3/2

0

1

11

0

-1

-5/2

1/2

0

0

-1

0

0

0

0

0

0

0

Последнюю строку можно вычеркнуть. Таким образом, получено начальное допустимое решение: , .

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

Задания для решения в аудитории

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

1. , , , .

2. , , , .

Задания для самостоятельной подготовки

1. Решить задачи линейного программирования методом искусственного базиса , :

1.1. , , , .

1.2. , , , .

1.3. , , , .

1.4. , , , .

Ответы: 1.1. . 1.2. Система ограничений несовместна. 1.3. , , . 1.4. Оптимального решения нет, .

1.6. Двойственные задачи линейного программирования

1.6.1. Правила составления двойственных задач

Любой задаче линейного программирования, называемой исходной или прямой, можно поставить в соответствие другую задачу, которая называется двойственной или сопряженной. По отношению друг к другу каждая такая задача является двойственной, а вместе они образуют пару двойственных задач.

Различают два основных вида пар двойственных задач:

Симметричные пары

Несимметричные пары

Исходная

Двойственная

Исходная

Двойственная

Алгоритм составления двойственной задачи:

1. Привести исходную задачу к одному виду (если , то , если , то ).

2. Составить расширенную матрицу исходной задачи из коэффициентов системы ограничений и целевой функции.

3. Составить транспонированную матрицу.

4. Сформировать двойственную задачу на основании транспонированной матрицы и условий неотрицательности.

Пример 10. Для заданной задачи линейного программирования составить двойственную задачу:

, , , .

Решение.

1. Приведем исходную задачу к одному виду:

, , , .

2. Составим расширенную матрицу: .

3. Транспонируем матрицу: .

4. Составим двойственную задачу:

, , , .

Переменная , соответствующая ограничению-равенству, может быть любого знака.