$title limited capacity planning problem set i order index /i1*i2/ p product type index /p1*p2/ m machine index /m1*m28/ j operation index /j1*j60/ ; alias(i,t); alias(j,q); Table k(p,i) order quantity of product p in order i i1 i2 p1 1000 0 p2 0 850 ; Table r(j,p,m) process time of operation j of product p on machine m m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 m16 m17 m18 m19 m20 m21 m22 m23 m24 m25 m26 m27 m28 j1.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0019 0.0019 0.0019 0.0019 0.0019 0 0 0 0 j1.p2 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 j2.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0005 0.0005 0.0005 0.0005 0.0005 0 0 0 0 j2.p2 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 j3.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0021 0.0021 0.0021 0.0021 0.0021 0 0 0 0 j3.p2 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 j4.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0003 0.0003 0.0003 0.0003 0.0003 0 0 0 0 j4.p2 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 j5.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0012 0.0012 0.0012 0.0012 0.0012 0 0 0 0 j5.p2 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 j6.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0011 0.0011 0.0011 0.0011 0.0011 0 0 0 0 j6.p2 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 j7.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0007 0.0007 0.0007 0.0007 0.0007 0 0 0 0 j7.p2 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 j8.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0004 0.0004 0.0004 0.0004 0.0004 0 0 0 0 j8.p2 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 j9.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0011 0.0011 0.0011 0.0011 0.0011 0 0 0 0 j9.p2 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 j10.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.001 0.001 0.001 0.001 0.001 0 0 0 0 j10.p2 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 j11.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0007 0.0007 0.0007 0.0007 0.0007 0 0 0 0 j11.p2 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 j12.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0007 0.0007 0.0007 0.0007 0.0007 0 0 0 0 j12.p2 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 j13.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0014 0.0014 0.0014 0.0014 0.0014 0 0 0 0 j13.p2 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 j14.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0009 0.0009 0.0009 0.0009 0.0009 0 0 0 0 j14.p2 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 j15.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0006 0.0006 0.0006 0.0006 0.0006 0 0 0 0 j15.p2 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 j16.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0007 0.0007 0.0007 0.0007 0.0007 0 0 0 0 j16.p2 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 j17.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0014 0.0014 0.0014 0.0014 0.0014 0 0 0 0 j17.p2 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 j18.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.001 0.001 0.001 0.001 0.001 0 0 0 0 j18.p2 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 j19.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0021 0.0021 0.0021 0.0021 0.0021 0 0 0 0 j19.p2 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 j20.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0016 0.0016 0.0016 0.0016 0.0016 0 0 0 0 j20.p2 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 j21.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0017 0.0017 0.0017 0.0017 0.0017 0 0 0 0 j21.p2 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 j22.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0004 0.0004 0.0004 0.0004 0.0004 0 0 0 0 j22.p2 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 j23.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0005 0.0005 0.0005 0.0005 0.0005 0 0 0 0 j23.p2 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 j24.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00024 0.00024 0.00024 0.00024 0.00024 0 0 0 0 j24.p2 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 j25.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0013 0.0013 0.0013 0.0013 0.0013 0 0 0 0 j25.p2 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 j26.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00013 0.00013 0.00013 0.00013 0.00013 0 0 0 0 j26.p2 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 j27.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0026 0.0026 0.0026 0.0026 0.0026 0 0 0 0 j27.p2 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 j28.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00024 0.00024 0.00024 0.00024 0.00024 0 0 0 0 j28.p2 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 j29.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0052 0.0052 0.0052 0.0052 0.0052 0 0 0 0 j29.p2 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 j30.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0044 0.0044 0.0044 0.0044 0.0044 0 0 0 0 j30.p2 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 j31.p1 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.0954 0 j31.p2 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 j32.p1 0.024 0.024 0.024 0.024 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j32.p2 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 j33.p1 0 0 0 0 0.025714 0.025714 0.025714 0.025714 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j33.p2 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 j34.p1 0 0 0 0 0 0 0 0 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0 0 0 0 0 0 0 0 0 0 j34.p2 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 j35.p1 0.001875 0.001875 0.001875 0.001875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j35.p2 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 j36.p1 0.0225 0.0225 0.0225 0.0225 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j36.p2 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 j37.p1 0 0 0 0 0.025714 0.025714 0.025714 0.025714 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j37.p2 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 j38.p1 0 0 0 0 0 0 0 0 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0 0 0 0 0 0 0 0 0 0 j38.p2 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 j39.p1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0305 0 0 0 0 0 0 0 0 0 j39.p2 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 j40.p1 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.084 0 0 0 j40.p2 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 j41.p1 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.024 0 0 j41.p2 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 j42.p1 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 j42.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.001 0.001 0.001 0.001 0.001 0 0 0 0 j43.p1 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 j43.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0055 0.0055 0.0055 0.0055 0.0055 0 0 0 0 j44.p1 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 j44.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0138 0.0138 0.0138 0.0138 0.0138 0 0 0 0 j45.p1 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 j45.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0035 0.0035 0.0035 0.0035 0.0035 0 0 0 0 j46.p1 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 j46.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0017 0.0017 0.0017 0.0017 0.0017 0 0 0 0 j47.p1 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 j47.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.007 0.007 0.007 0.007 0.007 0 0 0 0 j48.p1 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 j48.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0095 0.0095 0.00950 0.0095 0.0095 0 0 0 0 j49.p1 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 j49.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.007 0.007 0.007 0.007 0.007 0 0 0 0 j50.p1 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 j50.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0026 0.0026 0.0026 0.0026 0.0026 0 0 0 0 j51.p1 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 j51.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0052 0.0052 0.0052 0.0052 0.0052 0 0 0 0 j52.p1 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 j52.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0061 0.0061 0.0061 0.0061 0.0061 0 0 0 0 j53.p1 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 j53.p2 0.024 0.024 0.024 0.024 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j54.p1 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 j54.p2 0 0 0 0 0.025714 0.025714 0.025714 0.025714 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j55.p1 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 j55.p2 0 0 0 0 0 0 0 0 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0.027692 0 0 0 0 0 0 0 0 0 0 j56.p1 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 j56.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0011 0.0011 0.0011 0.0011 0.0011 0 0 0 0 j57.p1 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 j57.p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0086 0.0086 0.0086 0.0086 0.00860 0 0 0 0 j58.p1 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 j58.p2 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.3334 j59.p1 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 j59.p2 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.025 0 0 0 j60.p1 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 j60.p2 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.01667 0 0 ; Table D(j,m) set of machines can perform the operation j m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 m16 m17 m18 m19 m20 m21 m22 m23 m24 m25 m26 m27 m28 j1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j31 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 1 0 j32 1 1 1 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 j33 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j34 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 j35 1 1 1 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 j36 1 1 1 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 j37 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j38 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 j39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 j40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 j41 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 1 0 0 j42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j53 1 1 1 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 j54 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j55 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 j56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 j58 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 1 j59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 j60 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 1 0 0 ; scalar A /9999999/; Variable Z objective function variable; Positive Variable F(j,i,m) finish time of operation j in order i at machine m Cmax production makespan S(j,i,m) start time of operation j in order i at machine m C(i) production completion time of order i; Binary Variable X(j,i,q,t,m) precedence binary variable Y(j,i,m) if operation j of order i is assigned to machine m; Equations objective objective function equation ct1(i) ct2 ct3 ct4(j) ct13(j) ct5(j,i,q,t,m,p) ct6(j,i,q,t,m,p) ct7(j,i,q,t,m) ct8(j,i,q,t,m) ct9(j,i,m) ct10(j,i) ct11(j,i,m) open1(i) open2(i) open3(i) open4(i) open5(i) open6(i) open7(i) open8(i) open9(i) open10(i) open11(i) open12(i) open13(i) open14(i) open15(i) open16(i) open17(i) open18(i) open19(i) open20(i) open21(i) open22(i) open23(i) open24(i) open25(i) open26(i) open27(i) open28(i) open29(i) open30(i) open31(i) open32(i) open33(i) open34(i) open35(i) open36(i) open37(i) open38(i) open39(i) open40(i) open41(i) open42(i) open43(i) open44(i) open45(i) open47(i) open48(i) open49(i) open50(i) open51(i) open52(i) open53(i) open54(i) open55(i) open56(i) open57(i) open58(i) open59(i) ; objective.. z =e= card(m)*Cmax - sum((j,p,m,i),r(j,p,m)*k(p,i)) ; ct1(i).. Cmax =g= C(i); ct2.. sum(m,F("j41","i1",m))=e=C("i1"); ct3.. sum(m,F("j60","i2",m))=e=C("i2"); ct4(j)..sum( m$(D(j,m) eq 1), F(j,"i1",m) ) =e= sum( m$(D(j,m) eq 1), S(j,"i1",m) ) + sum( m$(D(j,m) eq 1), r(j,"p1",m)*k("p1","i1")*Y(j,"i1",m) ); ct13(j)..sum( m$(D(j,m) eq 1), F(j,"i2",m) ) =e= sum( m$(D(j,m) eq 1), S(j,"i2",m) ) + sum( m$(D(j,m) eq 1), r(j,"p2",m)*k("p2","i2")*Y(j,"i2",m) ); ct5(j,i,q,t,m,p)$(ord(i) ne ord(t) and ord(j) ne ord(q))..S(q,t,m)=g=S(j,i,m)+(r(j,p,m)*k(p,i))-A*(1-X(j,i,q,t,m)); ct6(j,i,q,t,m,p)$(ord(i) ne ord(t) and ord(j) ne ord(q))..S(j,i,m)=g=S(q,t,m)+(r(j,p,m)*k(p,i))-A*(1-X(j,i,q,t,m))-A*(1-Y(j,i,m))-A*(1-Y(q,i,m)); ct7(j,i,q,t,m)$(ord(i) ne ord(t) and ord(j) ne ord(q))..Y(j,i,m) + Y(q,t,m) =g= 2*(X(j,i,q,t,m) + X(q,t,j,i,m)); ct8(j,i,q,t,m)$(ord(i) ne ord(t) and ord(j) ne ord(q))..Y(j,i,m) + Y(q,t,m) =l= X(j,i,q,t,m) + X(q,t,j,i,m) + 1; ct9(j,i,m)..S(j,i,m) =l= A*(Y(j,i,m)); ct10(j,i)..sum(m$(D(j,m) eq 1), Y(j,i,m)) =e= 1; ct11(j,i,m)..Y(j,i,m)=l=D(j,m); open1(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j7",m) eq 1), F("j7",i,m)); open2(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j8",m) eq 1), F("j8",i,m)); open3(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j9",m) eq 1), F("j9",i,m)); open4(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j10",m) eq 1), F("j10",i,m)); open5(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j11",m) eq 1), F("j11",i,m)); open6(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j12",m) eq 1), F("j12",i,m)); open7(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j13",m) eq 1), F("j13",i,m)); open8(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j14",m) eq 1), F("j14",i,m)); open9(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j15",m) eq 1), F("j15",i,m)); open10(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j16",m) eq 1), F("j16",i,m)); open11(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j17",m) eq 1), F("j17",i,m)); open12(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j18",m) eq 1), F("j18",i,m)); open13(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j19",m) eq 1), F("j19",i,m)); open14(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j20",m) eq 1), F("j20",i,m)); open15(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j21",m) eq 1), F("j21",i,m)); open16(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j22",m) eq 1), F("j22",i,m)); open17(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j23",m) eq 1), F("j23",i,m)); open18(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j24",m) eq 1), F("j24",i,m)); open19(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j25",m) eq 1), F("j25",i,m)); open20(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j26",m) eq 1), F("j26",i,m)); open21(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j27",m) eq 1), F("j27",i,m)); open22(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j28",m) eq 1), F("j28",i,m)); open23(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j29",m) eq 1), F("j29",i,m)); open24(i).. sum(m$(D("j31",m) eq 1), S("j31",i,m)) =g= sum(m$(D("j30",m) eq 1), F("j30",i,m)); open25(i).. sum(m$(D("j33",m) eq 1), S("j33",i,m)) =g= sum(m$(D("j32",m) eq 1), F("j32",i,m)); open26(i).. sum(m$(D("j34",m) eq 1), S("j34",i,m)) =g= sum(m$(D("j33",m) eq 1), F("j33",i,m)); open27(i).. sum(m$(D("j37",m) eq 1), S("j37",i,m)) =g= sum(m$(D("j36",m) eq 1), F("j36",i,m)); open28(i).. sum(m$(D("j38",m) eq 1), S("j38",i,m)) =g= sum(m$(D("j37",m) eq 1), F("j37",i,m)); open29(i).. sum(m$(D("j39",m) eq 1), S("j39",i,m)) =g= sum(m$(D("j38",m) eq 1), F("j38",i,m)); open30(i).. sum(m$(D("j40",m) eq 1), S("j40",i,m)) =g= sum(m$(D("j39",m) eq 1), F("j39",i,m)); open31(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j1",m) eq 1), F("j1",i,m)); open32(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j2",m) eq 1), F("j2",i,m)); open33(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j3",m) eq 1), F("j3",i,m)); open34(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j4",m) eq 1), F("j4",i,m)); open35(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j5",m) eq 1), F("j5",i,m)); open36(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j6",m) eq 1), F("j6",i,m)); open37(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j31",m) eq 1), F("j31",i,m)); open38(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j34",m) eq 1), F("j34",i,m)); open39(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j35",m) eq 1), F("j35",i,m)); open40(i).. sum(m$(D("j41",m) eq 1), S("j41",i,m)) =g= sum(m$(D("j40",m) eq 1), F("j40",i,m)); open41(i).. sum(m$(D("j54",m) eq 1), S("j54",i,m)) =g= sum(m$(D("j53",m) eq 1), F("j53",i,m)); open42(i).. sum(m$(D("j55",m) eq 1), S("j55",i,m)) =g= sum(m$(D("j54",m) eq 1), F("j54",i,m)); open43(i).. sum(m$(D("j58",m) eq 1), S("j58",i,m)) =g= sum(m$(D("j57",m) eq 1), F("j57",i,m)); open44(i).. sum(m$(D("j59",m) eq 1), S("j59",i,m)) =g= sum(m$(D("j58",m) eq 1), F("j58",i,m)); open45(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j42",m) eq 1), F("j42",i,m)); open47(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j43",m) eq 1), F("j43",i,m)); open48(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j44",m) eq 1), F("j44",i,m)); open49(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j45",m) eq 1), F("j45",i,m)); open50(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j46",m) eq 1), F("j46",i,m)); open51(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j47",m) eq 1), F("j47",i,m)); open52(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j48",m) eq 1), F("j48",i,m)); open53(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j49",m) eq 1), F("j49",i,m)); open54(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j50",m) eq 1), F("j50",i,m)); open55(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j51",m) eq 1), F("j51",i,m)); open56(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j52",m) eq 1), F("j52",i,m)); open57(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j55",m) eq 1), F("j55",i,m)); open58(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j56",m) eq 1), F("j56",i,m)); open59(i).. sum(m$(D("j60",m) eq 1), S("j60",i,m)) =g= sum(m$(D("j59",m) eq 1), F("j59",i,m)); model proje /all/; solve proje using mip minimizing z; display F.l; display S.l; display C.l; display X.l; display Y.l;