求最优解编程
❶ lingo中如何设置求全局最优解
1、题目:求minz=2*x1+3*x2+x3;s.t.[x1 + 4*x2+2*x3>=8 ;3*x1 + 2*x2 >=6 ;xj >= 0 , j=1,2,3, ]。
❷ matlab求解线性规划最优解怎么弄
题主给出线性规划问题,可以用fmincom函数求得最优解。
求解思路:1、创建自定义目标函数,myfun(x),即f=10*a*h2、创建自定义约束条件函数,mycon(x),即
(1)不等式条件
0.5≤b/a≤2;
0.5≤c/(10-b)≤2;
0.5≤(a-c)/(10-b)≤2;
0.5≤(c+10-b)/(2*h)≤2;
0.5≤(a-c+10-b)/(2*h)≤2;
0.5≤(a+b)/(2*h)≤2;
(2)等式条件
(a*b*(h-2))=200;
(10*b*c*(h-4))=35;
((10-b)*a*c*(h-4))=105;
3、初定x的初值,即x0=rand(1,4)
4、确定x的上限值,即lb值,lb=zeros(1,4);
5、确定x的下限值,即ub值,ub=ones(1,4)*20;
6、使用fmincon函数,求其a、b、c、V值
[x,fval,exitflag] = fmincon(@(x) myfun(x),x0,A,b,Aeq,beq,lb,ub,@(k) mycon(k));
a=x(1);b=x(2);c=x(3);h=x(4);
7、验证各等式条件
按上述要求编程,运行后可得到如下结果
❸ lingo线性规划求最优解编程不知道哪里错了
这两句
maxP=max(10000*a-@sum(n:t*max(10000*x,u)));
min(b)=max(l);
你想表达什么意思?
❹ 运筹学求最优解在matlab中怎么编程
运筹学的题目是各种各样的,用matlab求最优解是可以的,根据具体问题可选用不同的函数求解,如fminunc,linprog,ga,等等。
❺ 求C语言编程 编程二次插值法求fx=(X-3)^2最优解初始区间[a,b]=[1,7]精度0.01
#includedouble f(double x)
{//多项式
double a[]={3,-7,-2,8};
int n=4;
n--;
double sum=a[n];
while(--n >= 0)
sum=sum*x+a[n];
return sum;
}
double cal(double a,double b,double e)
{
double a1,a2,a3,t_a2,t;
a1=a;a3=b;a2=(a+b)/2;
while(1)
{
t=((f(a3)-f(a2))/(a3-a2)-(f(a2)-f(a1))/(a2-a1))/(a3-a1);
t_a2=((a1+a2)*t-(f(a2)-f(a1))/(a2-a1))/(2*t);
if(t_a2-a2 < e && t_a2-a2 > -e)break;
if(t_a2 > a2)a1=a2;
else a3=a2;
a2=t_a2;
}
return f(t_a2);
}
void main()
{
printf("%lf\n",cal(0,2,0.01));
}
❻ 下面这道题,求数学建模问题的最优解,用matlab怎么编程
用fmincon函数
你看看help
fmincon
主要是建立两个m文件,一个myfun放你的f(x),注意,这里要放-f(x),因为你要求最大值,fmincon是求最小值的
另一个mycon放非线性约束条件,这俩,(x11+x12+x13)y11*1.4+(x22-x12+x23)y22*1.65<=7.5
(x11+x12+x13)(y11*1.4+6.1)+(x22-x12+x23)(y22*1.65+7.35)<=76.5
把线性约束条件写成矩阵A,B
直接调用
X=fmincon(@myfun,X0,A,B,[],[],LB,UB,@mycon)
LB,UB是自变量的上下限
X0为初值,一般需要多尝试几个初值
❼ 用matlab求非线性规划问题的最优解
题主给出的非线性规划问题,其最优解可以用matlab的fmincon函数求解,求解方法如下:
1、根据条件,确定x、y、z的上下限
lb=[0,0,5];ub=[15,5,8];
2、自定义目标函数,fmincon_fun(k),即
x=k(1);y=k(2);z=k(3);
m=21.6*sqrt(5^2+(8-z)^2 )+7.2*(sqrt(x^2+(5-x)^2 )+y+sqrt((15-x)^2+(z-x)^2 ));
3、使用fmincon函数求解,其M的最小值
[k,fval] = fmincon(@(k) fmincon_fun(k),k0,[],[],[],[],lb,ub)
其中:x=k(1);y=k(2);z=k(3);ymin=fval
4、按上述方法,编程运行可以得到如下结果。
❽ 怎么用matlab求最优解
x0=[5,5,2]
题主给出的线性规划模型可以用fmincon函数来
求其最优解,其方法:
1、首先建立目标函数,objectivef(x),其内容
y=x(1)*x(2)+2*(x(2)*x(3)+x(1)*x(3));
2、然后建立约束函数,constrainf(x),其内容
%约束函数
c=[];
%非约束函数
ceq=x(1)*x(2)*x(3)-100;
3、最后建立运行代码
x0=[5,5,2]
A=[];b=[];Aeq=[];beq=[];VLB=[5,0,0];VUB=[inf,inf,inf];
[x,fval,exitflag]=fmincon(@(x)objectivef(x),x0,A,b,Aeq,beq,VLB,VUB,@(x)constrainf(x))
A=x(1)*x(2)*x(3);
str=['x1x2x3=100 ',num2str(A)];
fprintf('%s ',str);
4、根据上述 内容编程,执行可以得到
x1=5.848;x2= 5.848;x3=2.924
min S=102.6
❾ 用lingo编程求DEA最优解
min = E;
1800*x1 + 1000*x2 + 800*x3 + 900*x4 >= 1800;
200*x1 + 350*x2 + 450*x3 + 420*x4 >= 200;
1600*x1 + 1000*x2 + 1300*x3 + 1500*x4 >= 1600;
15*x1 + 20*x2 + 21*x3 +20*x4 <= 15*E;
140*x1 + 130*x2 + 120*x3 + 135*x4 <= 140*E;
x1 + x2 + x3 + x4 = 1;
❿ matlab求最优解
你给出的代码没有按照题意来书写,是有问题的。
首先,应建立最优函数方程,即
max 14A+15B+23C+40D
st. 10A+12B+18C+26D≤1000
5≤A≤50
5≤B≤50
5≤C≤50
5≤D≤50
A,B,C,D≥0
然后,用fmincon非线性 规划最优解函数,求得A,B,C,D
按此思路编程后运行可得
A=5,B=5,C=5,D=30,筹集资金1460元