MATLAB线性规划求解:最小化二次目标函数
假设线性规划问题的目标函数为:
min f = 3x1^2 +x2^2-12x1-8*x2
约束条件为:
2x1 + x2 <= 10 x1 + 3x2 <= 12 x1 >= 0 x2 >= 0
可以使用MATLAB中的'linprog'函数求解该线性规划问题,代码如下:
f = [3, 1]; A = [-2, -1; -1, -3; -1, 0; 0, -1]; b = [-10; -12; 0; 0]; lb = [0; 0]; [x, fval] = linprog(f, A, b, [], [], lb);
其中,'f'为目标函数系数,'A'为约束条件系数矩阵,'b'为约束条件右侧常数向量,'lb'为变量下界向量。'linprog'函数返回求解得到的最优解'x'和最优目标函数值'fval'。
运行该代码,得到最优解为x = [1.8462; 2.3077],最优目标函数值为fval = -19.3846。
原文地址: https://www.cveoy.top/t/topic/nRsy 著作权归作者所有。请勿转载和采集!