全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
6299 1
2011-04-02
本人要做某种映射的优化问题,比如集合A中的元素映射到集合B中的元素,于是定义一个联系A和B的数组C(A,B),当A中的某一元素映射到B中的某一元素上时,数组C中对应项为1,否则为0。已知A到B的映射为单射,且B中的元素多于A中元素。现在要加强一个条件是:把B中元素分成没有公共元素的n组(n为A中元素个数,n组不一定要包含B中所有元素),A中的每个元素仅映射到B中相应的某一特定的分组中元素上。比如A中有1,2,3三个元素,B中有1,2,3,4,5,6,7,8八个元素,B的元素分成三个小组,(1,2);(3,4,5);(6,7),A中的元素1只能映射到B中的分组(1,2)上的元素1或者2,A中元素2只能映射到B中的分组(3,4,5)中某一个元素,A中元素3就只能映射到B中分组(6,7)上。
model:
sets:
       SETA/1,2,3/: A;
       SETB/1..8/: B;
       MATRIXC(SETA,SETB): delta;
endsets

data:
.....
enddata
[OBJ] [email=min=@sum]min=@sum[/email](....)

@for(SETA(m): @sum(SETB(s):delta(m,s))=1;);
@for(SETB(s): @sum(SETA(m):delta(m,s))<=1;);
!如何用LINGO语法把上面更严格的约束描述出来呢

恳请高人指教!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-4-4 09:12:35
已经解决,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群