reset; option solver CPLEX; var s1 >=0 , binary; var s2 >=0 , binary; var s3 >=0 , binary; var s4 >=0 , binary; var s5 >=0 , binary; var s6 >=0 , binary; var xA >=0 , binary; var xB >=0 , binary; var xC >=0 , binary; var xD >=0 , binary; var xE >=0 , binary; var xF >=0 , binary; var x1dB >=0 , binary; var x1dD >=0 , binary; var x2dA >=0 , binary; var x2dE >=0 , binary; var x3dC >=0 , binary; var x3dD >=0 , binary; var x3dF >=0 , binary; var x4dA >=0 , binary; var x4dC >=0 , binary; var x4dE >=0 , binary; var x5dB >=0 , binary; var x5dD >=0 , binary; var x6dB >=0 , binary; var x6dC >=0 , binary; var x6dF >=0 , binary; maximize fcelu: s1+s2+s3+s4+s5+s6; subject to ogr1: s1<=1; subject to ogr2: s2<=1; subject to ogr3: s3<=1; subject to ogr4: s4<=1; subject to ogr5: s5<=1; subject to ogr6: s6<=1; subject to ogr7: xA<=1; subject to ogr8: xB<=1; subject to ogr9: xC<=1; subject to ogr10: xD<=1; subject to ogr11: xE<=1; subject to ogr12: xF<=1; subject to ogrA: x1dB<=1; subject to ogrB: x1dD<=1; subject to ogrC: x2dA<=1; subject to ogrD: x2dE<=1; subject to ogrE: x3dC<=1; subject to ogrF: x3dD<=1; subject to ogrG: x3dF<=1; subject to ogrI: x4dA<=1; subject to ogrJ: x4dC<=1; subject to ogrK: x4dE<=1; subject to ogrL: x5dB<=1; subject to ogrM: x5dD<=1; subject to ogrO: x6dB<=1; subject to ogrP: x6dC<=1; subject to ogrR: x6dF<=1; subject to ogr20: s1-x1dB-x1dD = 0; subject to ogr21: s2-x2dA-x2dE = 0; subject to ogr22: s3-x3dC-x3dD-x3dF = 0; subject to ogr23: s4-x4dA-x4dC-x4dE = 0; subject to ogr24: s5-x5dB-x5dD = 0; subject to ogr25: s6-x6dB-x6dC-x6dF = 0; subject to ogr26: xA-x2dA-x4dA = 0; subject to ogr27: xB-x1dB-x5dB-x6dB = 0; subject to ogr28: xC-x3dC-x4dC-x6dC = 0; subject to ogr29: xD-x1dD-x3dD-x5dD = 0; subject to ogr30: xE-x2dE-x4dE = 0; subject to ogr31: xF-x3dF-x6dF = 0; subject to ogrSpecjalne: 3*x3dC+13*x3dD+17*x3dF-30*x5dB-7*x5dD-18*x6dB-8*x6dC-21*x6dF >= 0; solve; display fcelu, x1dB, x1dD, x2dA, x2dE, x3dC, x3dD, x3dF, x4dA, x4dC, x4dE, x5dB, x5dD, x6dB, x6dC, x6dF;