Алгоритм решения задачи методом Лагранжа
1. Составляется математическая задача нелинейного программирования
Ϝ(X) = f(x1, x2, …, xn) → экстремум
gi(x1, x2, …, xn) = 0 i = 1, …, m
в предположении, что функции f(x1, x2, …, xn) и gi(x1, x2, …, xn) непрерывны вместе со своими первыми частными производными.
2. Составляется функция Лагранжа
Ϝ(x1, x2, …, xn, λ1, λ2, …, λm) = f(x1, x2, …, xn) + Σλigi(x1, x2, …, xn), I = 1, …, m,
где λi – множители Лагранжа.
3. Определяются частные производные
ðϜ/ðxj; j = 1, …, n
ðϜ/ðλi; I = 1, …, m
4. Частные производные приравниваются нулю
ðϜ/ðxj = ðf/ðxj + Σλi(ðgi/ðxj) = 0 j = 1, …, n
ðϜ/ðλi = gi(x1, x2, …, xn) = 0 I = 1, …, m
5. Из системы уравнений п.4 определяются значения неизвестных переменных.
6. Для определения минимум или максимум функции находится в точке экстремума, берётся любая другая точка, удовлетворяющая условиям ограничений, и сравниваются значения целевых функций в этих двух точках.
Алгоритм нахождения решения многокритериальной задачи линейного программирования
|
|
1. Составляется математическая модель задачи:
F1(X) = Σcj*xj→ max
F2(X) = Σdj*xj → min
…
Fk(X) = Σlj*xj → max
J = 1…n
При ограничениях:
Σaij*xj≤ bi
xj≥ 0 J =1…n; I = 1…m,
где: F1(X)…Fk(X) – целевые функции (экономические показатели),
cj, dj, …,lj, aij, bi –заданные коэффициенты,
xj – искомые переменные.
2. Находятся решения задачи по каждому экономическому показателю.
X1max(1) = (x1(¹), x2(1),…, xn(1)) F1max(X)
X2min(2) = (x1(2), x2(2),…, xn(2)) F2min(X)
…
Xkmax(k) = (x1(k), x2(k),…, xn(k)) Fkmax(X)
3. Составляется новая математическая задача для нахождения компромиссного решения.
F(X) = xn+1 → min
при ограничениях:
Σcj*xj+ F1max(X)*xn+1≥ F1max(X)
Σdj*xj -F2max(X)*xn+1 ≤ F2max(X)
…
Σlj*xj+ Fkmax(X)*xn+1≥ Fkmax(X)
Σaij*xj≤ bi
xj≥ 0 J =1…n+1; I = 1…m,
где хn+1 – наибольшее значение экономических показателей.
4. Определяется компромиссное решение
Хкомп= (х1(комп), х2(комп), …, хn(комп))
Вопросы для самоконтроля
Списокиспользованных источников