$ontext Gams Model for the Pooling Problem Author: Mohit Tawarmalani model: adhya3 $offtext $eolcom # # Set Declarations set comp /1*8/; set pro /1*4/; set qual /1*6/; set pool /1*3/; # components related parameters table compparams(comp,*) 1 2 3 1 0 75 7 2 0 75 3 3 0 75 2 4 0 75 10 5 0 75 5 6 0 75 5 7 0 75 9 8 0 75 11 ; parameters cl(comp), cu(comp), cprice(comp); cl(comp) = compparams(comp,'1'); cu(comp) = compparams(comp,'2'); cprice(comp) = compparams(comp,'3'); table cqual(comp,qual) 1 2 3 4 5 6 1 1 6 4 0.5 5 9 2 4 1 3 2 4 4 3 4 5.5 3 0.9 7 10 4 3 3 3 1 3 4 5 1 2.7 4 1.6 3 7 6 1.8 2.7 4 3.5 6.1 3 7 5 1 1.7 2.9 3.5 2.9 8 3 3 3 1 5 2 ; # pool related parameters parameters psize(pool); psize(pool) = 75; # product related parameters table prodparams(pro,*) 1 2 3 1 0 10 16 2 0 25 25 3 0 30 15 4 0 10 10 ; parameters prl(pro), pru(pro), pprice(pro); prl(pro) = prodparams(pro,'1'); pru(pro) = prodparams(pro,'2'); pprice(pro) = prodparams(pro,'3'); parameter pqlbd(pro, qual); pqlbd(pro, qual) = 0; table pqubd(pro, qual) 1 2 3 4 5 6 1 3 3 3.25 0.75 6 5 2 4 2.5 3.5 1.5 7 6 3 1.5 5.5 3.9 0.8 7 6 4 3 4 4 1.8 8 6 ; # network related parameters table ubq(comp, pool) 1 2 3 1 1 0 0 2 1 0 0 3 0 1 0 4 0 1 0 5 0 1 0 6 0 0 1 7 0 0 1 8 0 0 1 ; table uby(pool, pro) 1 2 3 4 1 10 25 30 10 2 10 10 25 30 3 30 10 10 25 ; parameter ubz(comp, pro); ubz(comp, pro) = 0; $include pool.gms