科技在线 发表于 2008-9-25 08:27

怎样解决如下问题(最小值问题)

约束条件:
24x(1)+21x(2)+48x(3)>=200
x(1)x(4)+x(2)x(5)+x(3)x(6)>=2500
0=<x(1)<=12,0=<x(2)=<10,0=<x(3)=<5
850=<x(4)<=2000,1250=<x(5)=<1750,1500=<x(6)=<4000
目标函数:
Q=8000x(1)+16600x(2)+18500x(3)+12x(4)+7.8x(5)+18x(6)
的最小值

[ 本帖最后由 sigma665 于 2008-9-25 08:30 编辑 ]

dingd 发表于 2008-9-25 09:27

目标函数值(最小): 113616.666666667
x1: 8.33333333333333
x2: 6.76567566100293E-17
x3: 1.16477515052492E-15
x4: 850
x5: 1250
x6: 1500

yelv123 发表于 2008-9-25 09:57

用lingo或者lindo也比较容易处理的

express 发表于 2008-9-25 10:32

用fmincon

function zmin
clc;clear;
X0=;
A=[-24 -21 -48 0 0 0];b=-200;
Aeq=[];beq=[];
LB=;UB=;
=fmincon(@fun,X0,A,b,Aeq,beq,LB,UB,@fun2)

function yhat=fun(x)
yhat=8000*x(1)+16600*x(2)+18500*x(3)+12*x(4)+7.8*x(5)+18*x(6);

function =fun2(x)
c=-(x(1)*x(4)+x(2)*x(5)+x(3)-x(6)-2500);
ceq=[];


结果:
X =
1.0e+003 *

0.0083 0 0 0.8500 1.2500 1.5000

FVAL = 1.1362e+005
EXITFLAG = 1
页: [1]
查看完整版本: 怎样解决如下问题(最小值问题)