急求!!!!在lingo中编程
需要用集 你至少要给我集怎么定义的我才能写 不会的话看看相关教程 不难
变量界定函数
变量界定函数实现对变量取值范围的附加限制,共4种:
@bin(x) 限制x为0或1
@bnd(L,x,U) 限制L≤x≤U
@free(x) 取消对变量x的默认下界为0的限制,即x可以取任意实数
@gin(x) 限制x为整数
在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+∞。@free取消了默认的下界为0的限制,使变量也可以取负值。@bnd用于设定一个变量的上下界,它也可以取消默认下界为0的约束。
也可以把变量范围作为一个条件
最好是在lingo11中运行,lingo 9.0中会提示你的变量超过范围!
结果是:
Local optimal solution found.
Objective value: 0.000000
Objective bound: 0.000000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 4
如果你的程序的限制条件是对的话,就是这个结果了!!你可以看看。。。
这个结果不对,我又修改了一下,前面的没变,
min=@sum(order(i):@max(time(j):x(i,j)*t(j)));
@for(links(i,j):@bin(x(i,j)));
@for(time(j):@sum(order(i):x(i,j))=1);
@for(order(i):@sum(capacity(j):x(i,j)*c(j))<=40);
@for(order(i):m(i)=@max(time(j):x(i,j)*t(j)));
@for(order(i):n(i)=@min(time(j)|x(i,j)#eq#1:x(i,j)*t(j)));
@for(order(i):m(i)-n(i)<=5);
end
还是不能运行!第6行模型定义不正确
x(i,j)#eq#1:这是错误的!
在删除某些项中,只能对循环的量进行限制不能是具体的数值!!!
至于怎么改,如果想用这个的话,你可以用@if(time(j):x(i,j),1,0)这样就可以避免这个问题,你自己试试吧!!
急求!!!!在lingo中编程视频
相关评论:
魏谭媛你的目标函数的最后差一个反括号!min=@sum(order(i):@max(time(j):x(i,j)*t(j)));最好是在lingo11中运行,lingo 9.0中会提示你的变量超过范围!结果是:Local optimal solution found.Objective value: 0.000000 Objective bound: 0.000000 Infeasibilities: 0.000000 Extended so...
魏谭媛max=@sum(routes(i,j):q(j)*x(i,j)+p(i)*x(i,j)-c(i,j)*x(i,j));
魏谭媛按照你的要求的话bai,因为你设定了一个目标函数du,所以zhi可以预计得到的矩阵fenzu是一个每行每列只dao有1个不为0的元素,且这个不为0的元素是1(因为1让目标函数取到最小值)。我在LINGO里面运行的结果,确实跟预计的一样。SETS:ROW\/1..30\/;COL\/1..30\/;MATRIX(ROW,COL):FENZU,TAG;ENDS...
魏谭媛乘以一个0-1变量 让0-1变量求和是i 就是这样 要具体的拿具体问题来
魏谭媛写程序有点烦,给你数学逻辑吧:X(i)为生产的数量,0为红色,1为蓝色;Y(i)为外包的数量,0为红色,1为蓝色;CX(i)为生产的成本;CY(i)为外报的成本;好了,目标:@min=CX+CY 约束:X(i)*consume<=capacity(j)ok
魏谭媛sets:si\/1..6\/:;sj\/1..5\/:;sij(si,sj):y,z,c,x;endsets max=@sum(si(i):(1500-25)*@sum(sj(j):y(i,j)*z(i,j))-50*@sum(sj(j):(7-i)*(x(i,j)-y(i,j)*z(i,j)))-@sum(sj(j)|j#le#2:c(i,j)*(1+(i-1)*n\/100)*x(i,j))-@sum(sj(j)|j#...
魏谭媛1、求minz=2*x1+3*x2+x3。2、打开Lingo软件,进入下面编程状态。3、输入目标函数:minz=2*x1+3*x2+x3。4、看看自己是否输入正确,如果没有出现error,那么继续输入下面的约数条件。5、输入约数方程之后,再次运行若显示的不一样则表示你输入的有误,在这里可以看出objectivevalue给出的...
魏谭媛!有4名同学到一家公司参加三个阶段的面试,公司要求:每个同学都必须首先找公司秘书初试,然后到部门主管处复试,中间休息20分钟,最后到经理处参加面试,并且不允许插队(即在任何一个阶段 4 名同学的顺序是一样的,其中中间休息必须休满20分钟,可以一起休息),由于 4 名同学的专业背景不同,所以每人...
魏谭媛s2\/1..5\/:q,r;ss(s1,s2):z,u,l;endsets max=@sum(ss(i,j):(c(i)-q(j))*z(i,j));for(s2(j):@sum(s1(i):z(i,j))<=r(j));for(ss(i,j):z(i,j)<=u(i,j)*@sum(ss(i1,j1):z(i1,j1)));for(ss(i,j):z(i,j)>=l(i,j)*@sum(ss(i1,j1):z(i...
魏谭媛代码实现?我知道lingo可以直接设置全局解,你在点开LINGOOptions,出现如图界面点击Globalsolver在UseGlobalslover一栏前面打勾,就可以了,解就是全局变量。但是很多问题全局最优解很难求出,甚至不能得到。lingo求出来的最优解只有一个。如果想求所有的,可以先估计下方程有几个解,然后估计一些他们的大致...