lingo 解0-1规划问题

 

简要复述要求:1、20个33元一次不等式,1个等式的可能结果。33个变量结果只能是0或1,且可以赋值某些变量,减少后期结果的数量。

 

 lingo代码如下

model: 
    sets:   
        row/1..20/: b;  !20个目标约束;
         col/1..33/: x;           !33个变量;
        link(row,col):a; 
    endsets 
    !数据申明;
    data:   
        b=4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4;   
        a=0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1
        0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
        0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0
        1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0
        0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 0
        0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 0
        0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0
        1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
        0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0
        0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0
        1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0
        0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0
        1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1
        0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0
        0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1
        1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0
        0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0
        0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 
    enddata 
    !目标函数;
    6=@sum(col:x);     
    @for(row(i):@sum(col(j):a(i,j)*x(j))<=b(i));
    @for(col:@bin(x)); 
end

 需要lingo破解软件的可以在我的邮箱留言:liuronghong123@foxmail.com

posted @ 2022-05-09 19:09  古路无行客  阅读(708)  评论(0)    收藏  举报