$title Tyco model from Practical Management Science pp. 116-118 option limrow = 13, limcol = 0, solprint=off; set month /jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec,jan01/; parameter CashInflow(month) 'inflow if thousands of dollars' / jan -12, feb -10, mar -8, apr -10, may -4, jun 5, jul -7, aug -2, sep 15, oct 12, nov -7, dec 45 /; set accounts /l-loan,s-loan,s-cash/; parameter IntRate(accounts) / l-loan 1, s-loan 1.5, s-cash 0.4 /; IntRate(accounts) = IntRate(accounts)/100; positive variable LongLoan 'long term loan amount $K', ShortLoan(month) 'amount loaned in month $K'; positive variable CashBal(month) 'cash balance at end of month', CashInt(month) 'interest this month on last months cash balance'; positive variable IntLong 'interest in a month on long term loan', IntShort(month) 'interest this month on prev month loan'; variable TermBal 'cash position $K in Jan 2001'; equations dCashInt(month), dIntLong, dIntShort(month), dCashBal(month), dTermBal; dCashBal(month).. CashBal(month) =e= CashBal(month-1) + CashInt(month) + CashInflow(month) + ShortLoan(month) + LongLoan$(sameas(month,'jan')) - ShortLoan(month-1) - IntLong$(not sameas(month,'jan')) - IntShort(month) - LongLoan$(sameas(month,'jan01')); dCashInt(month).. CashInt(month) =e= CashBal(month-1)*IntRate('s-cash'); dIntLong.. IntLong =e= LongLoan*IntRate('l-loan'); dIntShort(month).. IntShort(month) =e= ShortLoan(month-1)*IntRate('s-loan'); dTermBal.. TermBal =e= CashBal('jan01'); * ShortLoan.fx('jan01') = 0; model tyco /all/; solve tyco using lp max TermBal; parameter THolding 'Terminal Cash holding in $'; THolding = TermBal.l*1000; option THolding:2; display TermBal.l,THolding;