$ontext Gams Model for the Pooling Problem Author: Mohit Tawarmalani model: adhya4 $offtext $eolcom # # Set Declarations set comp /1*8/; set pro /1*5/; set qual /1*4/; set pool /1*2/; # components related parameters table compparams(comp,*) 1 2 3 1 0 85 15 2 0 85 7 3 0 85 4 4 0 85 5 5 0 85 6 6 0 85 3 7 0 85 5 8 0 85 5 ; 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 1 0.5 1.9 1.3 1 2 1.4 1.8 1.7 1.6 3 1.2 1.9 1.4 1.4 4 1.5 1.2 1.7 1.3 5 1.6 1.8 1.6 2 6 1.2 1.1 1.4 2 7 1.5 1.5 1.5 1.5 8 1.4 1.6 1.2 1.6 ; # pool related parameters parameters psize(pool); psize(pool) = 85; # product related parameters table prodparams(pro,*) 1 2 3 1 0 15 10 2 0 25 25 3 0 10 30 4 0 20 6 5 0 15 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.0; table pqubd(pro, qual) 1 2 3 4 1 1.2 1.7 1.4 1.7 2 1.4 1.3 1.8 1.4 3 1.3 1.3 1.9 1.9 4 1.2 1.1 1.7 1.6 5 1.6 1.9 2 2.5 ; # network related parameters table ubq(comp, pool) 1 2 1 1 0 2 1 0 3 1 0 4 1 0 5 0 1 6 0 1 7 0 1 8 0 1 ; table uby(pool, pro) 1 2 3 4 5 1 15 25 10 20 15 2 10 20 15 15 25 ; parameter ubz(comp, pro); ubz(comp, pro) = 0.0; $include pool.gms