$ondollar title Bank Three (multiLP) Example 8.1 of Rardin (1998) $offsymxref offsymlist offuelxref offuellist offupper option limrow = 0, limcol = 0; sets j "investment categories" /1*8/ risk(j) "risk asset categories" /6*8/; alias (j,jp); parameter r(j) "return rate for category j" /1 .000, 2 .040, 3 .045, 4 .055, 5 .070, 6 .105, 7 .085, 8 .092/; parameter l(j) "liquid part for category j" /1 1.00, 2 .995, 3 .960, 4 .900, 5 .850/; parameter c(j) "required capital for category j" /1 .000, 2 .005, 3 .040, 4 .050, 5 .075, 6 .100, 7 .100, 8 .100/; scalars capital "bank capital" /20/, demdep "demand deposits" /150/, timdep "time deposits" /80/, demcsh "demand deposit cash reserve" /.14/, timcsh "time deposit cash reserve" /.04/, demliq "demand deposit liquidity requirement" /.47/, timliq "time deposit liquidity requirement" /.36/ mindiv "minimum fraction for diversification" /.05/, mincom "minimum fraction commercial" /.30/; free variable profit "total return", capadeq "capital adequacy ratio", riskasset "risk asset ration"; positive variables x(j) "investment in category j"; equations profobj "maximize profit", caobj "minimize capital adequacy ratio", raobj "minimize risk asset ration", investall "invest all capital", cashres "cash reserve requirement", liquid "liquidity requirement", divers(j) "diversification requirements for j", commer "fraction in commercial requirement"; profobj.. profit =e= sum(j, r(j)*x(j)); caobj.. capadeq =e= sum(j, c(j)*x(j)) / capital; raobj.. riskasset =e= sum(j$risk(j), x(j))/ capital; investall.. sum(j, x(j)) =e= capital + demdep + timdep; cashres.. x('1') =g= demcsh*demdep + timcsh*timdep; liquid.. sum(j, l(j)*x(j)) =g= demliq*demdep + timliq*timdep; divers(j).. x(j) =g= mindiv * sum(jp, x(jp)); commer.. x('8') =g= mincom * sum(j, x(j)); model bank3 /all/; solve bank3 using lp maximizing profit; solve bank3 using lp minimizing capadeq; solve bank3 using lp minimizing riskasset; scalars proftarg "profit target level" /18.5/, catarg "capital adequacy target level" /0.80/, ratarg "risk asset target level" /7.0/; positive variables dprof "profit deficiency", dca "capital adequacy deficiency", dra "risk assest deficiency"; free variable dsum "total deficiency"; equations goalobj "minimize total goal deficiency", profgoal "profit goal", cagoal "capital adequacy goal", ragoal "risk asset goal"; goalobj.. dsum =e= dprof + dca + dra; profgoal.. profit + dprof =g= proftarg; cagoal.. capadeq - dca =l= catarg; ragoal.. riskasset - dra =l= ratarg; model bank3goal /profobj, caobj, raobj, investall, cashres, liquid, divers, commer, profgoal, cagoal, ragoal, goalobj/; solve bank3goal using lp minimizing dsum;