/* Input File for MULTI-COMMODITY FLOW ROUTING */ /* */ /* Written by Daehyun Kim */ /* GTCAD Lab, Georgia Tech */ /* daehyun@ece.gatech.edu */ /* www.gtcad.gatech.edu */ /* Objective Function (1.1) */ min: 4 Xab1 + 4 Xab2 + 4 Xab3 + 4 Xab4 + 4 Xab5 + 4 Xab6 + 4 Xba1 + 4 Xba2 + 4 Xba3 + 4 Xba4 + 4 Xba5 + 4 Xba6 + 8 Xbc1 + 8 Xbc2 + 8 Xbc3 + 8 Xbc4 + 8 Xbc5 + 8 Xbc6 + 8 Xcb1 + 8 Xcb2 + 8 Xcb3 + 8 Xcb4 + 8 Xcb5 + 8 Xcb6 + 4 Xdh1 + 4 Xdh2 + 4 Xdh3 + 4 Xdh4 + 4 Xdh5 + 4 Xdh6 + 4 Xhd1 + 4 Xhd2 + 4 Xhd3 + 4 Xhd4 + 4 Xhd5 + 4 Xhd6 + 5 Xef1 + 5 Xef2 + 5 Xef3 + 5 Xef4 + 5 Xef5 + 5 Xef6 + 5 Xfe1 + 5 Xfe2 + 5 Xfe3 + 5 Xfe4 + 5 Xfe5 + 5 Xfe6 + 3 Xfg1 + 3 Xfg2 + 3 Xfg3 + 3 Xfg4 + 3 Xfg5 + 3 Xfg6 + 3 Xgf1 + 3 Xgf2 + 3 Xgf3 + 3 Xgf4 + 3 Xgf5 + 3 Xgf6 + 4 Xij1 + 4 Xij2 + 4 Xij3 + 4 Xij4 + 4 Xij5 + 4 Xij6 + 4 Xji1 + 4 Xji2 + 4 Xji3 + 4 Xji4 + 4 Xji5 + 4 Xji6 + 5 Xjk1 + 5 Xjk2 + 5 Xjk3 + 5 Xjk4 + 5 Xjk5 + 5 Xjk6 + 5 Xkj1 + 5 Xkj2 + 5 Xkj3 + 5 Xkj4 + 5 Xkj5 + 5 Xkj6 + 3 Xkl1 + 3 Xkl2 + 3 Xkl3 + 3 Xkl4 + 3 Xkl5 + 3 Xkl6 + 3 Xlk1 + 3 Xlk2 + 3 Xlk3 + 3 Xlk4 + 3 Xlk5 + 3 Xlk6 + 7 Xad1 + 7 Xad2 + 7 Xad3 + 7 Xad4 + 7 Xad5 + 7 Xad6 + 7 Xda1 + 7 Xda2 + 7 Xda3 + 7 Xda4 + 7 Xda5 + 7 Xda6 + 5 Xdi1 + 5 Xdi2 + 5 Xdi3 + 5 Xdi4 + 5 Xdi5 + 5 Xdi6 + 5 Xid1 + 5 Xid2 + 5 Xid3 + 5 Xid4 + 5 Xid5 + 5 Xid6 + 4 Xbe1 + 4 Xbe2 + 4 Xbe3 + 4 Xbe4 + 4 Xbe5 + 4 Xbe6 + 4 Xeb1 + 4 Xeb2 + 4 Xeb3 + 4 Xeb4 + 4 Xeb5 + 4 Xeb6 + 3 Xeh1 + 3 Xeh2 + 3 Xeh3 + 3 Xeh4 + 3 Xeh5 + 3 Xeh6 + 3 Xhe1 + 3 Xhe2 + 3 Xhe3 + 3 Xhe4 + 3 Xhe5 + 3 Xhe6 + 5 Xhj1 + 5 Xhj2 + 5 Xhj3 + 5 Xhj4 + 5 Xhj5 + 5 Xhj6 + 5 Xjh1 + 5 Xjh2 + 5 Xjh3 + 5 Xjh4 + 5 Xjh5 + 5 Xjh6 + 8 Xfk1 + 8 Xfk2 + 8 Xfk3 + 8 Xfk4 + 8 Xfk5 + 8 Xfk6 + 8 Xkf1 + 8 Xkf2 + 8 Xkf3 + 8 Xkf4 + 8 Xkf5 + 8 Xkf6 + 4 Xcg1 + 4 Xcg2 + 4 Xcg3 + 4 Xcg4 + 4 Xcg5 + 4 Xcg6 + 4 Xgc1 + 4 Xgc2 + 4 Xgc3 + 4 Xgc4 + 4 Xgc5 + 4 Xgc6 + 8 Xgl1 + 8 Xgl2 + 8 Xgl3 + 8 Xgl4 + 8 Xgl5 + 8 Xgl6 + 8 Xlg1 + 8 Xlg2 + 8 Xlg3 + 8 Xlg4 + 8 Xlg5 + 8 Xlg6; /* Node a (1.2) ~ (1.7) */ Xab1 + Xad1 - Xba1 - Xda1 = 1; Xab2 + Xad2 - Xba2 - Xda2 = 0; Xab3 + Xad3 - Xba3 - Xda3 = 0; Xab4 + Xad4 - Xba4 - Xda4 = 0; Xab5 + Xad5 - Xba5 - Xda5 = 0; Xab6 + Xad6 - Xba6 - Xda6 = 0; /* Node b (1.8) ~ (1.13) */ Xba1 + Xbe1 + Xbc1 - Xab1 - Xeb1 - Xcb1 = 0; Xba2 + Xbe2 + Xbc2 - Xab2 - Xeb2 - Xcb2 = 0; Xba3 + Xbe3 + Xbc3 - Xab3 - Xeb3 - Xcb3 = 0; Xba4 + Xbe4 + Xbc4 - Xab4 - Xeb4 - Xcb4 = 0; Xba5 + Xbe5 + Xbc5 - Xab5 - Xeb5 - Xcb5 = 0; Xba6 + Xbe6 + Xbc6 - Xab6 - Xeb6 - Xcb6 = 1; /* Node c (1.14) ~ (1.19) */ Xcb1 + Xcg1 - Xbc1 - Xgc1 = 0; Xcb2 + Xcg2 - Xbc2 - Xgc2 = -1; Xcb3 + Xcg3 - Xbc3 - Xgc3 = 0; Xcb4 + Xcg4 - Xbc4 - Xgc4 = 0; Xcb5 + Xcg5 - Xbc5 - Xgc5 = 0; Xcb6 + Xcg6 - Xbc6 - Xgc6 = 0; /* Node d (1.20) ~ (1.25) */ Xda1 + Xdh1 + Xdi1 - Xad1 - Xhd1 - Xid1 = 0; Xda2 + Xdh2 + Xdi2 - Xad2 - Xhd2 - Xid2 = 0; Xda3 + Xdh3 + Xdi3 - Xad3 - Xhd3 - Xid3 = 1; Xda4 + Xdh4 + Xdi4 - Xad4 - Xhd4 - Xid4 = -1; Xda5 + Xdh5 + Xdi5 - Xad5 - Xhd5 - Xid5 = 0; Xda6 + Xdh6 + Xdi6 - Xad6 - Xhd6 - Xid6 = 0; /* Node e (1.26) ~ (1.31) */ Xeb1 + Xef1 + Xeh1 - Xbe1 - Xfe1 - Xhe1 = 0; Xeb2 + Xef2 + Xeh2 - Xbe2 - Xfe2 - Xhe2 = 0; Xeb3 + Xef3 + Xeh3 - Xbe3 - Xfe3 - Xhe3 = 0; Xeb4 + Xef4 + Xeh4 - Xbe4 - Xfe4 - Xhe4 = 0; Xeb5 + Xef5 + Xeh5 - Xbe5 - Xfe5 - Xhe5 = 0; Xeb6 + Xef6 + Xeh6 - Xbe6 - Xfe6 - Xhe6 = 0; /* Node f (1.32) ~ (1.37) */ Xfe1 + Xfk1 + Xfg1 - Xef1 - Xkf1 - Xgf1 = 0; Xfe2 + Xfk2 + Xfg2 - Xef2 - Xkf2 - Xgf2 = 0; Xfe3 + Xfk3 + Xfg3 - Xef3 - Xkf3 - Xgf3 = -1; Xfe4 + Xfk4 + Xfg4 - Xef4 - Xkf4 - Xgf4 = 0; Xfe5 + Xfk5 + Xfg5 - Xef5 - Xkf5 - Xgf5 = 0; Xfe6 + Xfk6 + Xfg6 - Xef6 - Xkf6 - Xgf6 = 0; /* Node g (1.38) ~ (1.43) */ Xgc1 + Xgf1 + Xgl1 - Xcg1 - Xfg1 - Xlg1 = 0; Xgc2 + Xgf2 + Xgl2 - Xcg2 - Xfg2 - Xlg2 = 0; Xgc3 + Xgf3 + Xgl3 - Xcg3 - Xfg3 - Xlg3 = 0; Xgc4 + Xgf4 + Xgl4 - Xcg4 - Xfg4 - Xlg4 = 0; Xgc5 + Xgf5 + Xgl5 - Xcg5 - Xfg5 - Xlg5 = 1; Xgc6 + Xgf6 + Xgl6 - Xcg6 - Xfg6 - Xlg6 = 0; /* Node h (1.44) ~ (1.49) */ Xhe1 + Xhd1 + Xhj1 - Xeh1 - Xdh1 - Xjh1 = 0; Xhe2 + Xhd2 + Xhj2 - Xeh2 - Xdh2 - Xjh2 = 0; Xhe3 + Xhd3 + Xhj3 - Xeh3 - Xdh3 - Xjh3 = 0; Xhe4 + Xhd4 + Xhj4 - Xeh4 - Xdh4 - Xjh4 = 0; Xhe5 + Xhd5 + Xhj5 - Xeh5 - Xdh5 - Xjh5 = -1; Xhe6 + Xhd6 + Xhj6 - Xeh6 - Xdh6 - Xjh6 = 0; /* Node i (1.50) ~ (1.55) */ Xid1 + Xij1 - Xdi1 - Xji1 = 0; Xid2 + Xij2 - Xdi2 - Xji2 = 1; Xid3 + Xij3 - Xdi3 - Xji3 = 0; Xid4 + Xij4 - Xdi4 - Xji4 = 0; Xid5 + Xij5 - Xdi5 - Xji5 = 0; Xid6 + Xij6 - Xdi6 - Xji6 = 0; /* Node j (1.56) ~ (1.61) */ Xji1 + Xjh1 + Xjk1 - Xij1 - Xhj1 - Xkj1 = 0; Xji2 + Xjh2 + Xjk2 - Xij2 - Xhj2 - Xkj2 = 0; Xji3 + Xjh3 + Xjk3 - Xij3 - Xhj3 - Xkj3 = 0; Xji4 + Xjh4 + Xjk4 - Xij4 - Xhj4 - Xkj4 = 0; Xji5 + Xjh5 + Xjk5 - Xij5 - Xhj5 - Xkj5 = 0; Xji6 + Xjh6 + Xjk6 - Xij6 - Xhj6 - Xkj6 = 0; /* Node k (1.62) ~ (1.67) */ Xkj1 + Xkf1 + Xkl1 - Xjk1 - Xfk1 - Xlk1 = 0; Xkj2 + Xkf2 + Xkl2 - Xjk2 - Xfk2 - Xlk2 = 0; Xkj3 + Xkf3 + Xkl3 - Xjk3 - Xfk3 - Xlk3 = 0; Xkj4 + Xkf4 + Xkl4 - Xjk4 - Xfk4 - Xlk4 = 1; Xkj5 + Xkf5 + Xkl5 - Xjk5 - Xfk5 - Xlk5 = 0; Xkj6 + Xkf6 + Xkl6 - Xjk6 - Xfk6 - Xlk6 = -1; /* Node l (1.68) ~ (1.73) */ Xlk1 + Xlg1 - Xkl1 - Xgl1 = -1; Xlk2 + Xlg2 - Xkl2 - Xgl2 = 0; Xlk3 + Xlg3 - Xkl3 - Xgl3 = 0; Xlk4 + Xlg4 - Xkl4 - Xgl4 = 0; Xlk5 + Xlg5 - Xkl5 - Xgl5 = 0; Xlk6 + Xlg6 - Xkl6 - Xgl6 = 0; /* Capacity constraints (1.74) ~ (1.89)*/ Xab1 + Xab2 + Xab3 + Xab4 + Xab5 + Xab6 + Xba1 + Xba2 + Xba3 + Xba4 + Xba5 + Xba6 <= 2; Xbc1 + Xbc2 + Xbc3 + Xbc4 + Xbc5 + Xbc6 + Xcb1 + Xcb2 + Xcb3 + Xcb4 + Xcb5 + Xcb6 <= 2; Xdh1 + Xdh2 + Xdh3 + Xdh4 + Xdh5 + Xdh6 + Xhd1 + Xhd2 + Xhd3 + Xhd4 + Xhd5 + Xhd6 <= 2; Xef1 + Xef2 + Xef3 + Xef4 + Xef5 + Xef6 + Xfe1 + Xfe2 + Xfe3 + Xfe4 + Xfe5 + Xfe6 <= 2; Xfg1 + Xfg2 + Xfg3 + Xfg4 + Xfg5 + Xfg6 + Xgf1 + Xgf2 + Xgf3 + Xgf4 + Xgf5 + Xgf6 <= 2; Xij1 + Xij2 + Xij3 + Xij4 + Xij5 + Xij6 + Xji1 + Xji2 + Xji3 + Xji4 + Xji5 + Xji6 <= 2; Xjk1 + Xjk2 + Xjk3 + Xjk4 + Xjk5 + Xjk6 + Xkj1 + Xkj2 + Xkj3 + Xkj4 + Xkj5 + Xkj6 <= 2; Xkl1 + Xkl2 + Xkl3 + Xkl4 + Xkl5 + Xkl6 + Xlk1 + Xlk2 + Xlk3 + Xlk4 + Xlk5 + Xlk6 <= 2; Xad1 + Xad2 + Xad3 + Xad4 + Xad5 + Xad6 + Xda1 + Xda2 + Xda3 + Xda4 + Xda5 + Xda6 <= 2; Xdi1 + Xdi2 + Xdi3 + Xdi4 + Xdi5 + Xdi6 + Xid1 + Xid2 + Xid3 + Xid4 + Xid5 + Xid6 <= 2; Xbe1 + Xbe2 + Xbe3 + Xbe4 + Xbe5 + Xbe6 + Xeb1 + Xeb2 + Xeb3 + Xeb4 + Xeb5 + Xeb6 <= 2; Xeh1 + Xeh2 + Xeh3 + Xeh4 + Xeh5 + Xeh6 + Xhe1 + Xhe2 + Xhe3 + Xhe4 + Xhe5 + Xhe6 <= 2; Xhj1 + Xhj2 + Xhj3 + Xhj4 + Xhj5 + Xhj6 + Xjh1 + Xjh2 + Xjh3 + Xjh4 + Xjh5 + Xjh6 <= 2; Xfk1 + Xfk2 + Xfk3 + Xfk4 + Xfk5 + Xfk6 + Xkf1 + Xkf2 + Xkf3 + Xkf4 + Xkf5 + Xkf6 <= 2; Xcg1 + Xcg2 + Xcg3 + Xcg4 + Xcg5 + Xcg6 + Xgc1 + Xgc2 + Xgc3 + Xgc4 + Xgc5 + Xgc6 <= 2; Xgl1 + Xgl2 + Xgl3 + Xgl4 + Xgl5 + Xgl6 + Xlg1 + Xlg2 + Xlg3 + Xlg4 + Xlg5 + Xlg6 <= 2; /* variable type constraints (1.90) */ bin Xab1, Xab2, Xab3, Xab4, Xab5, Xab6; bin Xba1, Xba2, Xba3, Xba4, Xba5, Xba6; bin Xbc1, Xbc2, Xbc3, Xbc4, Xbc5, Xbc6; bin Xcb1, Xcb2, Xcb3, Xcb4, Xcb5, Xcb6; bin Xdh1, Xdh2, Xdh3, Xdh4, Xdh5, Xdh6; bin Xhd1, Xhd2, Xhd3, Xhd4, Xhd5, Xhd6; bin Xef1, Xef2, Xef3, Xef4, Xef5, Xef6; bin Xfe1, Xfe2, Xfe3, Xfe4, Xfe5, Xfe6; bin Xfg1, Xfg2, Xfg3, Xfg4, Xfg5, Xfg6; bin Xgf1, Xgf2, Xgf3, Xgf4, Xgf5, Xgf6; bin Xij1, Xij2, Xij3, Xij4, Xij5, Xij6; bin Xji1, Xji2, Xji3, Xji4, Xji5, Xji6; bin Xjk1, Xjk2, Xjk3, Xjk4, Xjk5, Xjk6; bin Xkj1, Xkj2, Xkj3, Xkj4, Xkj5, Xkj6; bin Xkl1, Xkl2, Xkl3, Xkl4, Xkl5, Xkl6; bin Xlk1, Xlk2, Xlk3, Xlk4, Xlk5, Xlk6; bin Xad1, Xad2, Xad3, Xad4, Xad5, Xad6; bin Xda1, Xda2, Xda3, Xda4, Xda5, Xda6; bin Xdi1, Xdi2, Xdi3, Xdi4, Xdi5, Xdi6; bin Xid1, Xid2, Xid3, Xid4, Xid5, Xid6; bin Xbe1, Xbe2, Xbe3, Xbe4, Xbe5, Xbe6; bin Xeb1, Xeb2, Xeb3, Xeb4, Xeb5, Xeb6; bin Xeh1, Xeh2, Xeh3, Xeh4, Xeh5, Xeh6; bin Xhe1, Xhe2, Xhe3, Xhe4, Xhe5, Xhe6; bin Xhj1, Xhj2, Xhj3, Xhj4, Xhj5, Xhj6; bin Xjh1, Xjh2, Xjh3, Xjh4, Xjh5, Xjh6; bin Xfk1, Xfk2, Xfk3, Xfk4, Xfk5, Xfk6; bin Xkf1, Xkf2, Xkf3, Xkf4, Xkf5, Xkf6; bin Xcg1, Xcg2, Xcg3, Xcg4, Xcg5, Xcg6; bin Xgc1, Xgc2, Xgc3, Xgc4, Xgc5, Xgc6; bin Xgl1, Xgl2, Xgl3, Xgl4, Xgl5, Xgl6; bin Xlg1, Xlg2, Xlg3, Xlg4, Xlg5, Xlg6;