lingo定义x为0-1变量
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/23 22:30:14
你把下界当成一个集上界当成一个集然后@for(links:x=下界;);再问:矩阵X的每一个元素的取值都不一样啊,我写一下,1=1x42>=3x43>=1x44=0这样怎么弄,能做个示范么,谢啦再答:
@bin
例如定义变量x为整数就是@gin(x);定义集中的元素为整数就是sets:a/1..3/:x;endsets@for(a(i):@gin(x(i)));
@bin(y);当然对集操作也一样@for(set:@bin(y));这种形式有问题再问我这个可能性不大除非你们做出是无可行解的情况
一般用集来定义你可以找相关教程看看一般的形式是sets:A/1..100/:s;endsets其中A是集名s是变量名
貌似不难,但是你得给我数据我才能帮你.再问:你好,数据如下:i=1,2,3,4,5,6;j=1,2,3;a=0.15;t=1,2,...,10;ei=465583;wi=508070403060;再答
sets:r/1..5/:x;c/1..5/:;k/1..5/:;link(r,c):y;links(r,c,k):z;endsets@bin(b);!单变量;@for(r:@bin(x));!一维;
不能这样定义数量必须定再问:好的,那可以使用其他优化软件这样定义吗?比如gurobi再答:那你可以自己学一下看看我觉得比较难再问:嗯嗯,好的,谢谢了
用集合啊,把它们放到一个集合里面,哪怕你搞3万个都可以.示例:sets:lock/1..100000/:N;endsets@for(lock:@bin(N));这样,所有的N都是0-1变量了.
sets:r/1..5/:x;c/1..5/:;k/1..5/:;link(r,c):y;links(r,c,k):z;endsets@bin(b);!单变量;@for(r:@bin(x));!一维;
可以将x表示为一个集合中的五个元素吧比如:sets:a/1..5/:x;endsetsdata:x=0,1,1.5,2,4;enddata集是lingo的特色,也是lingo在解决规划问题的时候最大的
你要知道lingo里面都是约束既然你要写这个约束直接写了就行了你最后一句基本上都写出来了啊再问:最后一句运行不对,如o,p都为0,q为1的话,运行得v不是w的1.5倍,求高手解答再答:你后面的a和b都
你再取一个变量zy=x*z;z>=1@gin(z);直接发自己写的函数来看这样写不对,你自己找个教程好好看一下,要不就百度HI找我,一直改问题不嫌麻烦你的JK是什么当然不行
@gin(x)
计算机里面的变量都是离散的,没有连续变量,区别也只是间隔的大小再问:那如果我想在1至4的区间上做出一个连续函数的图像比如sinx用PLOT怎么实现再答:x=1:0.01:4;plot(x,sin(x)
new=[]生成一个长度大小不定的空矩阵,可以通过new=[newX]进行元素或向量的添加,其中X就是要添加进这个矩阵的元素或向量.比如>>new=[];>>a=1;b=2;&
怎么叫一段还有什么同一变量都说清楚lingo不是什么都能做的你自己找几个标准的线性规划问题看看就知道了
都是0-1变量那你的几个约束都没有用就是求第一个式子的最大值而已我猜都是1max=100*x1+150*x2+120*x3+180*x4+200*x5-1.28*@sqrt(100*x1^2+400*
估计是因为你的问题没有可行解这时候没有解当然给出的解就没有什么意义了再问:lingo的版本有问题不,lingo9会报错1017,lingo10却一直在算再答:应该是没问题的只要破解了我没有数据你把数据
对比下:f(x)=10x²在x=-1处的导数值为lim[h→0][f(x+h)-f(x)]/h,在x=-1=lim[h→0][10(-1+h)²-10(-1)²]/h=l