求最優解編程
❶ 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元