
- •Часть I
- •Часть 1. Линейное программирование
- •Задания для решения в аудитории
- •1.2. Виды задач линейного программирования
- •1.2.1. Приведение задачи линейного программирования к канонической форме
- •Задания для решения в аудитории
- •1.2.2. Переход от канонической формы задачи линейного программирования к стандартной форме
- •Задания для решения в аудитории
- •1.3.1. Графический метод решения задач линейного программирования с переменными
- •Задания для решения в аудитории
- •Задания для самостоятельной подготовки
- •1.4. Симплексный метод решения задач линейного программирования
- •1.4.1. Нахождение начального допустимого базисного решения
- •Задания для решения в аудитории
- •1.4.2. Составление и преобразование симплексных таблиц
- •Задания для решения в аудитории
- •1. Решить симплексным методом задачу линейного программирования: , , , .
- •1.4.3. Особые случаи симплексного метода
- •Задания для решения в аудитории
- •1. Решить симплексным методом задачу линейного программирования: , , , .
- •2. Решить симплексным методом задачу линейного программирования: , , , . Задания для самостоятельной подготовки
- •1.5. Метод искусственного базиса
- •1.6.2. Первая теорема двойственности
- •Задания для самостоятельной подготовки
- •1.7. Метод Гомори решения задач целочисленного программирования
- •Задания для самостоятельной подготовки
- •1.8. Транспортная задача линейного программирования
- •1.8.1. Математическая модель транспортной задачи
- •1.8.2. Опорное решение транспортной задачи
- •1.8.3. Метод потенциалов
- •Задания для самостоятельной подготовки
Задания для решения в аудитории
1. Решить задачу линейного программирования графическим методом.
,
,
.
2. Решить задачу линейного программирования графическим методом.
,
,
.
Задания для самостоятельной подготовки
1. Решить задачи линейного программирования графическим методом при :
1)
2)
3)
2. Решить задачи линейного программирования графическим методом при , :
1)
2)
Ответы:
1.1.
.
1.2.
.
1.3.
Система ограничений не совместна. 2.1.
.
2.2.
,
,
.
1.4. Симплексный метод решения задач линейного программирования
Геометрический смысл симплексного метода состоит в последовательном движении от одной вершины выпуклого многоугольника решений к соседней, от неё к следующей и так к оптимальной вершине по сторонам этого многоугольника.
Экономический смысл симплексного метода заключается в том, что он является методом последовательного улучшения решений и дает возможность, выбрав отправной опорный план действий, постепенно передвигаться вперед и в конечном итоге достичь оптимального плана, если, конечно, такой существует.
1.4.1. Нахождение начального допустимого базисного решения
Пусть задана задача линейного программирования в канонической форме
(1)
(2),
,
.
1.
Составим расширенную матрицу из
коэффициентов системы ограничений:
.
Методом Жордана - Гаусса приведем
расширенную матрицу к разрешенному
виду. Предположим, что в качестве
разрешающих элементов выбраны коэффициенты
соответствующие переменным
.
Тогда разрешенная матрица примет вид:
.
Если количество ненулевых строк (ранг) полученной расширенной и основной (без столбца свободных членов) матрицы совпадает, то система (1) совместна (имеет решение).
2.
Допустим, что в полученной разрешенной
матрице не все свободные члены
являются неотрицательными. Рассмотрим
строку матрицы, содержащую отрицательный
свободный член (любую, если их несколько).
В этой строке выберем отрицательный
элемент (любой, если их несколько) и
сделаем его разрешающим элементом.
Такие шаги повторяем до тех пор, пока
не получим матрицу, в которой все
неотрицательны.
3. Если среди чисел есть отрицательные, а в строке, содержащей отрицательный свободный член, отсутствует отрицательный элемент, то в этом случае начальное допустимое базисное решение получить невозможно, то есть условия задачи противоречивы.
4. Предположим, что после первого применения метода Жордана – Гаусса оказалось, что система (1) совместна, её ранг равен и все свободные члены неотрицательны. Тогда система ограничений, соответствующая разрешенной матрице примет вид:
(3)
Выразим
переменные
через остальные
переменные
:
(4)
Вид
(3) и (4) называется допустимым
для системы ограничений (2). При этом
неизвестные
называется базисным,
а весь набор
- базисом.
Остальные переменные называются
свободными.
5.
Пусть
,
тогда из системы (4) найдем значения
базисных неизвестных:
,
.
Полученное таким образом решение системы
(4)
называется начальным
допустимым базисным решением.
6. Подставим в целевую функцию (2) вместо базисных переменных их выражения через свободные:
.
(5)
Для
полученного базисного решения значение
целевой функции
.
7. Если изначально система ограничений задачи линейного программирования была записана в стандартной форме и после её приведения к каноническому виду каждая балансовая переменная входит в уравнение системы ограничений с тем же знаком, что и свободный член, стоящий в правой части уравнения, то балансовые переменные берутся в качестве базисных переменных. При этом получается допустимое решение.
Пример 6. Найти начальное допустимое базисное решение задачи линейного программирования
,
.
Решение.
Для системы ограничений составим
расширенную матрицу:
.
Выберем
в первой строке разрешающий элемент,
например
.
Умножим первую строку на
и вычтем ее из второй строки (
):
.
Разделим вторую строку на
:
.
Выберем во второй строке разрешающий
элемент, например
.
Умножим вторую строку на
и вычтем ее из первой строки (
):
.
Последняя
матрица имеет разрешенный вид. При этом
в первой строке свободный член
отрицательный, а разрешающий элемент
положительный (знаки не совпадают).
Выберем
в первой строке отрицательный элемент,
например
(можно взять
)
и сделаем его разрешающим. Для этого
разделим первую строку на
:
.
Первую строку прибавим ко второй (
):
.
Матрица имеет разрешенный вид и все
свободные члены отрицательные.
Из
полученной разрешенной матрицы составим
систему ограничений:
.
Переменные соответствующие разрешающим
элементам
- базисные, а
- свободные. Выразим базисные переменные
через свободные:
.
Подставим вместо свободных переменных
любые числа, например нули:
.
Отсюда
- начальное допустимое базисное решение.
Подставим
в целевую функцию вместо базисных
переменных их выражения через свободные:
,
- выражение целевой функции через
свободные переменные,
- значение целевой функции в начальном
допустимом базисном решении.