lingo错误

[复制链接]
查看11 | 回复3 | 2010-9-8 19:43:46 | 显示全部楼层 |阅读模式
程序中有如下一条约束:
@for(link: n=@if(m#gt#1,2/m,0));
但是lingo说该约束无法解,问题应该是出在2/m上面,只要是m的倒数之类都不行,但是换成1-m,m^(2)甚至@exp(-m)都可以……
这里m已经大于1了,不存在分母为0的情况啊……
问题应该是出在m的数值上,因为我这个m是一个高度稀疏矩阵的元素,里面有很多0.
要不请你们试一下,m数据中有0时,还行不行?

回复

使用道具 举报

千问 | 2010-9-8 19:43:46 | 显示全部楼层
看了一下没发现错误,,然后我自己写了一份数据试了一下,程序可以得出结果啊:model:sets:x/1..4/:y;link(x,x):n,m;endsets@for(link: n=@if(m#gt#1,2/m,0));data:m=5 2 5 1 62 54 8 5 3 4 1 55 36 12 55 2;enddataend
N( 1, 1)
0.4000000
N( 1, 2)

回复

使用道具 举报

千问 | 2010-9-8 19:43:46 | 显示全部楼层
我觉得这样的代码是没有问题的…还是觉得可能楼主的代码段m赋值时有错误…建议重点检查m赋值的情况。
回复

使用道具 举报

千问 | 2010-9-8 19:43:46 | 显示全部楼层
语法没任何错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行