用matlab求解一个优化问题(目标函数非线性,约束函数线性)min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9))

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/19 06:22:29
用matlab求解一个优化问题(目标函数非线性,约束函数线性)min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9))

用matlab求解一个优化问题(目标函数非线性,约束函数线性)min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9))
用matlab求解一个优化问题(目标函数非线性,约束函数线性)
min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9))^0.6+(x(10)+x(11)+x(12))^0.6]
s.t. x(1)+x(2)+x(3)=0;
我是这样求的:
目标函数(运行显示下标不对)
function f=myobj(x)
c = [12 21 21; 13 20 23; 15 17 27; 17 19 31];
size(x) = [4,3];
y = c.*x;
y = sum(y(:));
s = 0;
for i = 1:4
sg = sum(x(i,:));
s = s+sg^0.6;
end
f = y+200*s;
command window
A= [1,1,1,0,0,0,0,0,0,0,0,0;
0,0,0,1,1,1,0,0,0,0,0,0;
0,0,0,0,0,0,1,1,1,0,0,0;
0,0,0,0,0,0,0,0,0,1,1,1;
-1,0,0,-1,0,0,-1,0,0,-1,0,0;
0,-1,0,0,-1,0,0,-1,0,0,-1,0;
0,0,-1,0,0,-1,0,0,-1,0,0,-1]
b=[200-1.645*10;
300-1.645*10;
400-1.645*10;
200-1.645*10;
-100-1.645*10;
-300-1.645*10;
-400-1.645*10]
x0=[0,0,0,0,0,0,0,0,0,0,0,0];
lb=[0,0,0,0,0,0,0,0,0,0,0,0];
ub=[];
[X,FVAL]=fmincon(@myobj,x0,A,b,[],[],lb,ub)
运行显示:
Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In fmincon at 260
? Error using ==> fmincon
FMINCON cannot continue because user supplied objective function failed with the following error:
Subscript indices must either be real positive integers or logicals.
请热心人士帮忙看下怎么改?谢谢!
fval不可能是0.我觉得求出来的x是1*12矩阵,需转换为4*3矩阵,代到目标函数中算才有结果,但我不知道怎么转换。

用matlab求解一个优化问题(目标函数非线性,约束函数线性)min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9))
程序编的非常好,只有一句:size(x) = [4,3]改为x =zeros(4,3) 即可.
%
运行结果:
X =
19.5167 69.5167 94.5167 38.7083 88.7083 113.7083 38.7083 88.7083 113.7083 19.5167 69.5167 94.5167
FVAL =
0
EXITFLAG =
1

Global optimal solution found.
Objective value: 112550.5
Objective bound: 112550.4
Infeasibilities: ...

全部展开

Global optimal solution found.
Objective value: 112550.5
Objective bound: 112550.4
Infeasibilities: 0.000000
Extended solver steps: 83
Total solver iterations: 4753
Variable Value Reduced Cost
X1 50.65000 0.000000
X2 0.000000 7.000000
X3 132.9000 0.000000
X4 0.000000 3.438348
X5 0.000000 8.438348
X6 283.5500 0.000000
X7 65.80000 0.000000
X8 316.4500 0.000000
X9 0.000000 0.1050611E+09
X10 0.000000 2.000000
X11 0.000000 2.000000
X12 0.000000 0.1050611E+09
Row Slack or Surplus Dual Price
1 112550.5 -1.000000
2 0.000000 3.000000
3 0.000000 5.438348
4 1.300000 0.000000
5 183.5500 0.000000
6 0.000000 -215.0000
7 0.000000 -217.0000
8 0.000000 -40.97349

收起

如何用Matlab求有限制条件的目标函数的最小值求解一个优化问题(目标函数非线性,约束函数线性)?minZ=56*x11+74*x12+61*x13+63*x14+63*x21+69*x22+65*x23+71*x24 +57*x31+77*x32+63*x33+67*x34+55*x41+76*x42+62 懂罚函数的请进,有约束优化遗传算法的目标函数问题对于目标函数f最小,小弟用惩罚函数处理约束条件,把约束适当惩罚放入适应度函数中,那么最后求解适应度函数F最小即可,但是有一个问题 matlab 求解优化问题,过程信息显示用matlab优化函数【比如fmincon等】 求解优化问题时,总是显示一大堆的优化过程信息【比如用什么算法,迭代次数,梯度等】,请问,如何屏蔽这些信息的显示?------ 用matlab求解一个优化问题(目标函数非线性,约束函数线性)min f(x)=12*x(1)+21*x(2)+21*x(3)+13*x(4)+20*x(5)+23*x(6)+15*x(7)+17*x(8)+27*x(9)+17*x(10)+19*x(11)+31*x(12)+200*[(x(1)+x(2)+x(3))^0.6+(x(4)+x(5)+x(6))^0.6+(x(7)+x(8)+x(9)) 运用MATLAB遗传算法工具箱求解非线性多目标优化问题,编程过程如下:function f1=func(x) %第一目标函数f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;function f2=func(x) %第二目标函数f2=x(:,1).*(1-x(:,2))+10;NIND=100; %个体 非线性最小二乘问题用matlab优化工具箱里提供的lsqonlin函数来求解一个含有四个变量的函数,求解出来的结果发现:总是只有其中一个变量的结果是接近实际值的,其他三个变量的结果则完全与 利用MATLAB求多目标线性函数优化问题,目标函数:min(x1+1.67x2)max(219x1+478x2)约束条件:x1 matlab可以求解目标函数是幂函数的问题么(底数变化,指数是常量) 遗传算法用matlab求解函数极值问题 我想用matlab中的fgoalattain函数,实现多目标函数优化.请问,函数中的goal怎么设置?我想用matlab中的fgoalattain函数,实现多目标函数的函数值最小化.请问,函数中的goal怎么设置?目标函数都是平方和, 使用matlab的fmincon优化,一直提示变量“x”未定义,使用matlab的fmincon函数进行优化,遇到以下问题:%以下是建立的目标函数M文件function f = CostObj( x ) % 目标函数a=[1 3 5];b=[2 4 6];c=0*ones(1,3);for i=1:3c(i 用matlab遗传算法解决函数优化问题上机编写程序,解决函数优化问题.考虑一元函数求最大值的优化问题f(x)=x*sin(10pi*x) +2 -2 matlab的遗传算法优化工具箱怎么用?是不是也想普通的优化算法一样编好目标函数(是不是就等于那个fitness函数?)和nonlinear函数后直接调用就好了? 在用matlab的优化工具箱中的linprog求解器或者其他求解器求最优值时,怎么设置变量约束条件为整数1.x =linprog(f,A,b,Aeq,beq,lb,ub,x0)中,要对哪个参数进行设置,怎么去设置.我知道f表示目标函数中的 用matlab写个powell优化算法的程序,目标函数是多元的,而寻找最优步长时只针对一元函数,怎么二元转一元 用excel的线性规划能否求解带二态变量的线性规划问题?急用!我正在写关于配送中心选址的论文,不会用MATLAB对模型进行求解,所以想改用线性规划;但是目标函数中有一个二态变量,所以不知道 Matlab线性规划问题目标函数要是取最值的式子怎么用Matlab写,如目标函数为min f=max{xi}(i=1,2,3,4) matlab求解优化问题 采用非线性最小二乘法 lsqnonlin函数 编程遇到问题采用lsqnonlin函数 编写的一个函数m文件如下:function F=myfun3(a)i=1:5;mi=[0.0686,1.0714,0.0714,3.2445,-0.0798];syms x;t=a(1)*x+a(2)*x^2+a(3)*x^3+