matlab解决非线性规划,其中限制条件是集合如x属于{0,1},这样怎么编程?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/09 14:53:57
matlab解决非线性规划,其中限制条件是集合如x属于{0,1},这样怎么编程?
fun_ave.m
x0=[10000;0;10000;0;10000;0;0;0;0;0;0;0;0;0;0;0];
A = [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 0];
b=[100000;-1];
Aeq=[];
beq=[];
Lb=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Ub=[34000 27000 30000 22000 30000 23000 0 23000 1 1 1 1 1 1 1 1];
[x,faval]=fmincon (@fun_ave,x0,A,b,Aeq,beq,Lb,Ub)
-faval
fun_ave.m
x0=[10000;0;10000;0;10000;0;0;0;0;0;0;0;0;0;0;0];
A = [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 0];
b=[100000;-1];
Aeq=[];
beq=[];
Lb=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Ub=[34000 27000 30000 22000 30000 23000 0 23000 1 1 1 1 1 1 1 1];
[x,faval]=fmincon (@fun_ave,x0,A,b,Aeq,beq,Lb,Ub)
-faval
只把Lb,Ub改写为:Lb=zeros(16,1);Ub=ones(16,1);
其余不变,运行即知结果
再问: 哥,这个题目要求是 x_1≤34000 x_2≤27000 x_3≤30000 x_4≤22000 x_5≤30000 x_6≤23000 x_7≤25000 x_8≤23000 x_i∈{0,1} i={9,10,11,12,13,14,15,16} 你这样一下子就把x_1到X_16全变为0-1了,这个不是纯粹的0-1规划,这是部分变量是0-1的规划。
再答: 按你的条件,Q2.m中设置是正确的,你问的问题是啥?
再问: 我的问题是x_i∈{0,1} i={9,10,11,12,13,14,15,16}这个条件用什么式子表示? 我在Lb和Ub中的表示就让x_i取到了小数,这个不对。
再答: 要让后面几个x_i取整数,不取小数,要么取0,要么取1, 你运行一下看看,结果满足这个条件,不用设定,
其余不变,运行即知结果
再问: 哥,这个题目要求是 x_1≤34000 x_2≤27000 x_3≤30000 x_4≤22000 x_5≤30000 x_6≤23000 x_7≤25000 x_8≤23000 x_i∈{0,1} i={9,10,11,12,13,14,15,16} 你这样一下子就把x_1到X_16全变为0-1了,这个不是纯粹的0-1规划,这是部分变量是0-1的规划。
再答: 按你的条件,Q2.m中设置是正确的,你问的问题是啥?
再问: 我的问题是x_i∈{0,1} i={9,10,11,12,13,14,15,16}这个条件用什么式子表示? 我在Lb和Ub中的表示就让x_i取到了小数,这个不对。
再答: 要让后面几个x_i取整数,不取小数,要么取0,要么取1, 你运行一下看看,结果满足这个条件,不用设定,
matlab lingo编程求解0-1非线性规划 目标函数如图 9个点只能用1次 Xi用过了Xj就不可以再用
用Matlab解决非线性规划问题
matlab解决约束非线性规划问题
matlab 0 1整数规划编程
matlab 非线性规划问题
matlab 非线性规划
matlab怎么实现整数线性规划或者非线性规划?
求助Matlab非线性规划问题
谁可以用matlab或lingo解决下列非线性规划问题
如何用Matlab求有限制条件的目标函数的最小值求解一个优化问题(目标函数非线性,约束函数线性)?
MATLAB中函数my_fun(x)的限制条件是两个等式,该怎么编写?各位大神求救啊!万分感谢
matlab怎么解非线性方程.如tan(x)=4x/(x^2+4)