lingo分段线性规划
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/21 13:19:29
以其用函数,还不如直接写.min和约束条件直接写上去就可以了
模型:model:sets:row/1..6/;col/1..3/:c,m,sp;A(row,col):p,n;!若n(i,j)=1则表示j元件采用i-1个备用件;endsetsdata:p=0.50
你把模型输进去就行了最基本的语法相当简单几乎跟线性规划模型一样找个教程和例子稍微看看就知道了具体的问题的话请你发上来
似乎可以用@mod()来实现,我尝试了一下,没有最优MODEL:MIN=3*N^2-3*N+1;(3*(N-1)^2-3*(N-1)+1)*48*5+((3*N^2-3*N+1)-(3*(N-1)^2
集定义里面出现了两个bm的数据个数不对别的改完再看再问:改哪一个b?谢谢了再答:第一个
提点建议,你的程序里面的S并没有约束,而目标函数里面又出现,那里应该有问题,还有就是目标函数太长,或者你把题目发下看看
|0.35t+1280
去掉指的那个右括号就行了再问:大神又是你!真是谢谢了。改了还是不行啊,能帮完整的写一句吗?其实就是x1+x2=0时,y(2)=0;x1+x2=2时,y(2)=r(2);x1+x2=1时,y2=0.7*
你可以找个运筹学的书来看看一般都会介绍单纯形法算是解决线性规划问题的基本办法lingo用的具体什么算法不知道但是基本上来说可以当做是优化过的单纯形法
前两个约束就矛盾不可能在满足第一个的情况下满足第二个如果不知道自己仔细算算再问:好了,呵呵!没换单位。
用@IF不过貌似不好弄,尤其是分段太多的时候
你那个@for根本就不需要写你就每对第二个指标循环你是一个一个列出来的再问:你的意思是把@for和前后括号删了?但是还是不行啊@sum(num_i(i):x(i,12))>=1000;@sum(num
分段函数用@if 表示:max = 4.8*(x11+x21) + 5.6*(x12+x22) - @if(x#LT#0.5,&n
请给出具体问题或数学模型再问:比如一个参数线性规划minz(a)=(2+a)x1+(1+2a)x25x2
t是什么啊?亲,不能这么定义的.clear>>v0=5;>>v1=2.5;>>a=[0:0.1:10];>>t=(v1^2-v0^2)./a;>&
可以通过@if来实现分段函数,例如|5x+20
model:sets:point/1..10/:x;road(point,point)|&1#gt#&2:a;endsetsdata:a=3151515158151588151588
既然是分段函数总要有分段的区间吧你不写区间没法表示出来分段函数一般用@if表示用多项式来表示(x-a)*(x-b)=0;或者用一个0-1变量y来表示x=a+y*(b-a);@bin(y);
min=3.7*x1+5*x2+1.5*x3+1.3*x4+3.1*x5+3.5*x6+1*x7+1*x8+1.5*x9+1.9*x10+1.7*x11+1.6*x12+@if(x1#le#40,0,
每句最后加分号目标函数那句是min=就行了然后你要知道你的所有变量是不是都是非负的如果不是的话需要单独说明