数学建模(一)规划问题

1.线性规划

在一组线性的约束条件的限制下,求一线性目标函数最大或最小的问题。
直接上函数: linprog(c,A,b)
小例子
形如[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
没有任何描述

c=[2;3;-5];
a=[-2,5,-1;1,3,1];
b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1))

Optimal solution found.


x =

    6.4286
    0.5714
         0

>> value=c'*x

value =

   14.5714

对应着来写就可以了,只有一个点要说就是函数标准默认求的是最小值,如果求最大值只需把目标函数取负,like代码里的-c。
Lingo更简单一点:

max=2*x1+3*x2-5*x3;
x1+x2+x3=7;
2*x1-5*x2+x3>=10;
x1+3*x2+x3<=12;
x1>=0;
x2>=0;
x3>=0;

例:不例了,还是套公式,重点是怎么从实际问题抽象出模型,且行且珍惜吧。

2.整数规划

定义:规划中的变量(部分或全部)限制为整数时。
LINGO之。一个例子:
无

model:
sets:
row/1..4/:b;
col/1..5/:c1,c2,x;
link(row,col):a;
endsets
data:
c1=1,1,3,4,2;
c2=-8,-2,-3,-1,-2;
a=1 1 1 1 1
1 2 2 1 6 
2 1 6 0 0
0 0 1 1 5;
b=400,800,200,200;
enddata
max=@sum(col:c1*x^2+c2*x);
@for(row(i):@sum(col(j):a(i,j)*x(j))<b(i));
@for(col:@gin(x));
@for(col:@bnd(0,x,99));
end 

@gin是整数限定。但我不明白为啥写成这么复杂,简化之:

max=x1^2+x2^2+3*x3^2+4*x4^2+2*x5^2-8*x1-2*x2-3*x3-x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值