注册 登录
编程论坛 C++教室

如何实现这样的0-1规划

robbiezl 发布于 2007-06-25 18:33, 779 次点击

假设有8个0-1变量只能取0或者1
他们分别是x[i][j][k],y[i][s][k][l]
i上限为1,j,k,l的上限也都为2,s的上限为1,isjkl都是正整数
这个这两个数组,每个里面都是4个0-1变量,总共有8个
那么请问如何用程序使得他们符合以下条件:
x[i][j][k]+x[i][j'][l]-2y[i][s][k][l]>=0,(j!=j')
x[i][j][k]+x[i][j'][l]-y[i][s][k][l]<=1,(j!=j')
i=1,
j=1,2
k=1,2
j!=j'
s=1
k=1,2
这样就能生出他们8个变量的取值状况,请问这个怎么编写呢,很迷惑啊


我不知道我表达的清楚没有,希望你们可以看明白吧

4 回复
#2
百年不亮2007-06-25 20:22


这种问题有一个简单但是很笨的办法就是用循环,有几个变量就用几层循环. 这种问题应该有好的算法的,只是我还没有学算法,大家一起讨论吧.

楼主如果还没有好的算法,可以试一下我的循环嵌套法.这个帖子有一个例子https://bbs.bc-cn.net/viewthread.php?tid=147967
3楼是我的程序,9楼是我的分析

#3
aipb20072007-06-25 20:38
算法书里有,可惜没学到!
#4
robbiezl2007-06-25 22:44
偶用循环没编出来啊。。郁闷
#5
zkkpkk2007-06-26 17:03
看标题本以为类似于数模里的:从5个运动员中选4个去游4种泳姿的规划问题,但进来发现居然没看懂
1