Сервис для решения задач по линейному программированию

Пусть хорошие люди смотрят хорошие решения
English

Пример №4. Решение задачи линейного программирования графическим методом.
Функция достигает наименьшего значения на отрезке

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

F = 2 x1 + 2 x2

при следующих ограничениях:

Знак системы x1 + x2 6
3 x1 - x2 3
x1 - x2 2
x2 6
x1 5

x1 ≥ 0     x2 ≥ 0
Решение:

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

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

Последние два шага (см. шаг 6 - шаг 7) служат непосредственно для получения ответа.

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

По условию задачи: x1 ≥ 0     x2 ≥ 0.

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

Рисунок №0.  Графический метод линейного программирования.

Шаг №1

Рассмотрим неравенство 1 системы ограничений.

x1 + x2  ≥  6

Построим прямую:   x1 + x2 = 6

Пусть x1 =0 => x2 = 6

Пусть x2 =0 => x1 = 6

Найдены коородинаты двух точек (0, 6) и (6 ,0). Соединяем их и получаем необходимую прямую (1).

Нас интересуют точки расположенные выше или ниже построенной прямой (1) ?
Вернемся к исходному неравенству.

x1 + x2  ≥  6

Преобразуем неравенство, оставив в левой части только x2

x2  ≥  - x1 + 6

Знак неравенства  ≥ . Следовательно, нас интересуют точки расположенные выше построенной прямой (1).

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

Рисунок №1.  Графический метод линейного программирования.

Шаг №2

Рассмотрим неравенство 2 системы ограничений.

3 x1 - x2  ≥  3

Построим прямую:   3 x1 - x2 = 3

Пусть x1 =0 => - x2 = 3 => x2 = -3

Пусть x2 =0 => 3 x1 = 3 => x1 = 1

Найдены коородинаты двух точек (0, -3) и (1 ,0). Соединяем их и получаем необходимую прямую (2).

Нас интересуют точки расположенные выше или ниже построенной прямой (2) ?
Вернемся к исходному неравенству.

3 x1 - x2  ≥  3

Преобразуем неравенство, оставив в левой части только x2

- x2  ≥  - 3 x1 + 3

x2  ≤  3 x1 - 3

Знак неравенства  ≤ . Следовательно, нас интересуют точки расположенные ниже построенной прямой (2).

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

Рисунок №2.  Графический метод линейного программирования.

Шаг №3

Рассмотрим неравенство 3 системы ограничений.

x1 - x2  ≤  2

Построим прямую:   x1 - x2 = 2

Пусть x1 =0 => - x2 = 2 => x2 = -2

Пусть x2 =0 => x1 = 2

Найдены коородинаты двух точек (0, -2) и (2 ,0). Соединяем их и получаем необходимую прямую (3).

Нас интересуют точки расположенные выше или ниже построенной прямой (3) ?
Вернемся к исходному неравенству.

x1 - x2  ≤  2

Преобразуем неравенство, оставив в левой части только x2

- x2  ≤  - x1 + 2

x2  ≥  x1 - 2

Знак неравенства  ≥ . Следовательно, нас интересуют точки расположенные выше построенной прямой (3).

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

Рисунок №3.  Графический метод линейного программирования.

Шаг №4

Рассмотрим неравенство 4 системы ограничений.

x2  ≤  6

Построим прямую: x2 = 6

Данная прямая параллельна оси OX1 и проходит через точку (0,6)   (4)

Знак неравенства  ≤ . Следовательно, нас интересуют точки расположенные ниже построенной прямой (4).

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

Рисунок №4.  Графический метод линейного программирования.

Шаг №5

Рассмотрим неравенство 5 системы ограничений.

x1  ≤  5

Построим прямую: x1 = 5

Данная прямая параллельна оси OX2 и проходит через точку (5,0)   (5)

Знак неравенства  ≤ . Следовательно, нас интересуют точки расположенные левее построенной прямой (5).

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

Рисунок №5.  Графический метод линейного программирования.

Шаг №6

Строим вектор C = (2, 2), координатами которого являются коэффициенты функции F.

Рисунок №6.  Графический метод линейного программирования.

Шаг №7

Будем перемещать "красную" прямую, перпендикулярно вектору C, от левого нижнего угла к правому верхнему.

В точке, в которой "красная" прямая в первый раз пересечет область допустимых решений, функция F достигает своего наименьшего значения.

В точке, в которой "красная" прямая в последний раз пересечет область допустимых решений, функция F достигает своего наибольшего значения.

Есть предположение, что функция F достигает наименьшего значения в точках A и B одновременно (см. рисунок). Проверим это предположение.

Найдем координаты точки A.
Точка A одновременно принадлежит прямым (1) и (2).

Знак системы x1 + x2 = 6   =>   x1 = 9/4
3 x1 - x2 = 3 x2 = 15/4

Вычислим значение функции F в точке A (9/4,15/4).

F (A) = 2 * 9/4 + 2 * 15/4 = 12

Найдем координаты точки B.
Точка B одновременно принадлежит прямым (1) и (3).

Знак системы x1 + x2 = 6   =>   x1 = 4
x1 - x2 = 2 x2 = 2

Вычислим значение функции F в точке B (4,2).

F (B) = 2 * 4 + 2 * 2 = 12

F(A) = F(B)

Тогда можно сделать вывод, что функция F достигает своего наименьшего значения в любой точке отрезка AB.

Рисунок №7. Графический метод линейного программирования.

Ответ:

x1 = 9/4 * t + 4 * ( 1 - t )

x2 = 15/4 * t + 2 * ( 1 - t )

где   0 ≤ t ≤ 1

F min = 12

Замечание: изменяя параметр t можно получить координаты любой точки отрезка AB.









© 2010-2020 Если у Вас есть замечания, пожалуйста, пишите matematika1974@yandex.ru


Ссылки