matlab解决线性规划问题,求大佬

我随便举的例子,这类问题怎么解决啊!! 说个思路也行~

用matlab解决线性规划问题,一般可以这样求解。
1、建立目标函数myfun(x)文件,即
function f = myfun(x)
x1=x(1),x2=x(2),x3=x(3),x4=x(4)
y1=x(5),y2=x(6),y3=x(7),y4=x(8)
f = x1*y4 + y1*x2+y2*x3+x4*y3;
2、建立约束函数mycon(x)文件,即
function [c,ceq] = mycon(x)
x1,x2,...同上
c =[8-x1-x3;-4-x2-x4;-14-y1+y3;-7+y2+y4];
ceq = [];
3、建立主程序命令文件,即
x0=[......] %8个
x = fmincon(@(x) myfun(x),x0,[],[],[],[],[],[],@(x) mycon(x)追问

x0是什么? 还有这个最优解是最小值还是最大值?

追答

x0是初值,这个最优解是最小值

追问

怎么求最大值呢?

追答

表达式前加一个负号,即
f = -(x1*y4 + y1*x2+y2*x3+x4*y3);

追问

这个x0初值是什么意思? 假设我变量全部大于0,这个初值是不是就是0

追答

x0初值不一定是零,有可能是正的,也有可能是负的,这要看具体的表达式变量取值范围。一般情况下,用随机数作为初值。

温馨提示:答案为网友推荐,仅供参考