ÐÏࡱá>þÿ  þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^ЂóOÄ @ Contentsÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^ÐPqóOÄ@ Contentsÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿþÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  !"#$þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern Courier New;}{\f3\fswiss\fprq2 System;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;\red0\green0\blue255;\red0\green175\blue0;} \deflang1033\pard\plain\f2\fs20\cf0 \plain\f2\fs20\cf2 model\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! Product mix example (lingo3i);\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 SETS\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! The simple/primitive sets;\plain\f2\fs20\cf0 \par Machine: ProdHoursAvail; \par Product: Profit, Produce; \par \plain\f2\fs20\cf3 ! A derived set;\plain\f2\fs20\cf0 \par MaPr( Machine, Product): ProdHoursUsed; \par \plain\f2\fs20\cf2 ENDSETS\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 DATA\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! Get the names of the machines & hours avail;\plain\f2\fs20\cf0 \par Machine, ProdHoursAvail = \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j'); \par \plain\f2\fs20\cf3 ! Get the names of the products & profits;\plain\f2\fs20\cf0 \par Product, Profit = \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j'); \par \plain\f2\fs20\cf3 ! Hours needed per unit of product;\plain\f2\fs20\cf0 \par MaPr, ProdHoursUsed = \par \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j', 'MaPr', 'Resource', 'Product', 'ProdHoursUsed'); \par \plain\f2\fs20\cf3 ! Send the solution values back;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j') = Produce; \par \plain\f2\fs20\cf2 ENDDATA\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf3 ! Maximize total profit contribution;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 MAX\plain\f2\fs20\cf0 = \plain\f2\fs20\cf2 @SUM\plain\f2\fs20\cf0 ( Product(i): Profit(i)*Produce(i)); \par \plain\f2\fs20\cf3 ! For each machine i;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @FOR\plain\f2\fs20\cf0 ( Machine(i): \par \plain\f2\fs20\cf3 ! Hours used <= hours available;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @SUM\plain\f2\fs20\cf0 ( MaPr\plain\f2\fs20\cf1 (\plain\f2\fs20\cf0 i, j\plain\f2\fs20\cf1 )\plain\f2\fs20\cf0 : ProdHoursUsed(i,j)*Produce(j)) \par <= ProdhoursAvail(i); \par ); \par \plain\f2\fs20\cf2 end\plain\f2\fs20\cf0 \par }   !"#$þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern Courier New;}{\f3\fswiss\fprq2 System;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;\red0\green0\blue255;\red0\green175\blue0;} \deflang1033\pard\plain\f2\fs20\cf0 \plain\f2\fs20\cf2 model\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! Product mix example (lingo3i);\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 SETS\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! The simple/primitive sets;\plain\f2\fs20\cf0 \par Machine: ProdHoursAvail; \par Product: Profit, Produce; \par \plain\f2\fs20\cf3 ! A derived set;\plain\f2\fs20\cf0 \par MaPr( Machine, Product): ProdHoursUsed; \par \plain\f2\fs20\cf2 ENDSETS\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 DATA\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf3 ! Get the names of the machines & hours avail;\plain\f2\fs20\cf0 \par Machine, ProdHoursAvail = \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j'); \par \plain\f2\fs20\cf3 ! Get the names of the products & profits;\plain\f2\fs20\cf0 \par Product, Profit = \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j'); \par \plain\f2\fs20\cf3 ! Hours needed per unit of product;\plain\f2\fs20\cf0 \par MaPr, ProdHoursUsed = \par \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j', 'MaPr', 'Resource', 'Product', 'ProdHoursUsed'); \par \plain\f2\fs20\cf3 ! Send the solution values back;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @ODBC\plain\f2\fs20\cf0 ( 'acces03j') = Produce; \par \plain\f2\fs20\cf2 ENDDATA\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf3 ! Maximize total profit contribution;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 MAX\plain\f2\fs20\cf0 = \plain\f2\fs20\cf2 @SUM\plain\f2\fs20\cf0 ( Product(i): Profit(i)*Produce(i)); \par \plain\f2\fs20\cf3 ! For each machine i;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @FOR\plain\f2\fs20\cf0 ( Machine(i): \par \plain\f2\fs20\cf3 ! Hours used <= hours available;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 @SUM\plain\f2\fs20\cf0 ( MaPr\plain\f2\fs20\cf1 (\plain\f2\fs20\cf0 i, j\plain\f2\fs20\cf1 )\plain\f2\fs20\cf0 : ProdHoursUsed(i,j)*Produce(j)) \par <= ProdhoursAvail(i); \par ); \par \plain\f2\fs20\cf2 end\plain\f2\fs20\cf0 \par }