Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава III_IV.doc
Скачиваний:
3
Добавлен:
27.04.2019
Размер:
1.31 Mб
Скачать

4.5. Симплекс-метод

Задана система линейных алгебраических уравнений

, (4.59)

со следующими размерностями матрицы А, векторов x и B: , , .

Среди всех неотрицательных векторов x, удовлетворяющих соотношениям (4.59), найти такой вектор, который доставляет минимальное значение целевой функции

, (4.60)

где – константа, .

Задачу будем решать с помощью симплекс-метода. Полное изложение метода можно найти, например, в источнике [8], здесь же суть симплекс-метода уясним, рассмотрев пример.

Задача (4.59), (4.60):

(4.61)

. (4.62)

Для этой задачи

, ,

, , .

В данном случае , (в матрице А пунктиром выделен один из отличных от нуля миноров третьего порядка).

Матрица

,

для этой матрицы , следовательно, согласно теореме Кронекера-Капелли система (4.61) – совместная.

В матрице А минор

,

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

, , , , , (4.63)

.

Систему (4.61) запишем в виде

. (4.64)

С учетом (4.63) это уравнение перепишем в виде

. (4.65)

Для (4.63) имеем

,

следовательно, из (4.65) вытекает, что

,

т.е.

.

Это означает, что

;

; (4.66)

.

В базисные переменные также выразим через свободные с помощью соотношений (4.66):

,

т.е.

. (4.67)

Переменные и должны удовлетворять условиям и . Примем, что , , тогда согласно (4.66)

, (4.68)

при этом . Решение (4.68) является допустимым, т.к. все переменные не отрицательные. Если же хотя бы одна из переменных оказалась бы отрицательной, то следует выбрать другой базисный минор и начать решение задачи с начала.

Посмотрим, нельзя ли с помощью и решение (4.68) улучшить так, чтобы приняло меньшее значение, чем . Видно, что входит в (4.67) со знаком минус, поэтому переменной присвоим такое неотрицательное значение, при котором стало бы меньше, но вместе с тем, чтобы не нарушилось условие , . Брать нельзя, т.к. примет отрицательное значение, см. (4.66), то имеем:

, , , , , . (4.69)

Решение (4.69) лучше решения (4.68). В решении (4.69) , поэтому естественно попробовать их в качестве свободных переменных, т.е. назначим базисными переменными , , , а свободными , .

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

, , .

Тогда систему (4.61) представляем в виде

и далее при

,

т.е.

,

или

;

; (4.70)

.

Исключив из (4.62) с помощью последнего из соотношений (4.70), получим, что

.

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

Итак, при применении симплекс-метода необходимо.

  1. Найти , , проверить выполнение равенства .

  2. Выбрать базисный минор, базисные и свободные матрицы и переменные.

  3. Выразить базисные переменные через свободные.

  4. Записать F(x) через свободные переменные.

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

  6. За счет одной из свободных переменных, входящих в со знаком минус, улучшить значение . Найти новые свободные и базисные переменные.

  7. Перейти к выполнению п. 3.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]