Работа вам нужна срочно. Не волнуйтесь, уложимся!
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
Решить ЗЛП ГРАФИЧЕСКИ, Нарисуй график
Предмет: Математика
Раздел: Математическое программирование (Линейное программирование)
Необходимо решить задачу линейного программирования (ЗЛП) графическим методом:
Ограничения: \begin{cases} -3x_1 + 2x_2 \leq 6, \ x_1 + x_2 \geq 3, \ x_1 \geq 0, \ x_1 \leq 4, \ x_2 \geq 0, \ x_1 - x_2 \geq 0. \end{cases}
Целевая функция: F(x) = 3x_1 + 2x_2 \to \max
Преобразуем неравенства в уравнения границ областей:
-3x_1 + 2x_2 = 6
Выразим x_2:
x_2 = \frac{3}{2}x_1 + 3
x_1 + x_2 = 3
Выразим x_2:
x_2 = 3 - x_1
x_1 - x_2 = 0
Выразим x_2:
x_2 = x_1
Границы x_1 \geq 0, x_1 \leq 4, x_2 \geq 0 определяют область в первой четверти.
Теперь построим график:
Построим график с помощью Python (Matplotlib):
import numpy as np
import matplotlib.pyplot as plt
# Определение границ
x1 = np.linspace(0, 4, 100)
# Уравнения границ
x2_1 = (3/2) * x1 + 3 # -3x1 + 2x2 = 6
x2_2 = 3 - x1 # x1 + x2 = 3
x2_3 = x1 # x1 - x2 = 0
# Ограничения по x2
x2_1 = np.maximum(x2_1, 0)
x2_2 = np.maximum(x2_2, 0)
x2_3 = np.maximum(x2_3, 0)
# Построение графика
plt.figure(figsize=(8, 6))
plt.plot(x1, x2_1, label=r'$-3x_1 + 2x_2 = 6$')
plt.plot(x1, x2_2, label=r'$x_1 + x_2 = 3$')
plt.plot(x1, x2_3, label=r'$x_1 - x_2 = 0$')
# Область допустимых решений
plt.fill_between(x1, np.maximum.reduce([x2_1, x2_3]), np.minimum(x2_2, 4), where=(x1 >= 0) & (x1 <= 4), alpha=0.3)
# Оформление графика
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.xlabel(r'$x_1$')
plt.ylabel(r'$x_2$')
plt.legend()
plt.grid()
plt.title('Графическое решение ЗЛП')
plt.show()
На графике выделена допустимая область. Далее находим координаты её вершин и вычисляем значение целевой функции в них.
Находим координаты точек пересечения:
Подставляем в целевую функцию:
Ответ: Максимальное значение F(x) = 14 достигается в точке (4,1).