ÐÏࡱá>þÿ   þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ BUNDLE/ B1 B2 B3 B12 B13 B23 B123/: COST, ! Each product/bundle has a cost/unit to producer; FP, ! Fixed cost of developing product J; YP, ! = 1 if we develop product J, else 0; PRICE, ! List price of product J; PMAX; ! Max price that might be charged; CXB( CUST, BUNDLE): RP, ! Reservation price of customer I for product J; EFP, ! Effective price I pays for J, = 0 if not bought; X; ! = 1 if I buys J, else 0; ENDSETS DATA: ! Reservation prices; RP = 400 50 200 450 650 250 700 200 200 50 350 250 250 400 500 100 100 550 600 260 600; ! Variable costs of each product; COST = 100 20 30 120 130 50 150; ! Fixed product development costs; FP = 30000 40000 60000 10000 20000 8000 0; ! Customer sizes; SIZE = 4000 3000 3000; ! Fixed market development costs; FM = 15000 12000 10000; ! Discount off list price to each customer, 0 <= DISC < 1; DISC = 0 .1 0; ! Discount/tax off list to each dealer, 0 <= DISD < 1; DISD = .05 0 0; ENDDATA !-------------------------------------------------; ! The seller wants to maximize the profit contribution; [PROFIT] MAX = @SUM( CXB( I, J): SIZE( I) * EFP( I, J) ! Revenue; - COST( J)* SIZE( I) * X( I, J) ! Variable cost; - EFP( I, J) * SIZE( I) * DISD( I)) ! Discount to dealers; - @SUM( BUNDLE: FP * YP) ! Product development cost; - @SUM( CUST: FM * YM); ! Market development cost; ! Each customer can buy at most 1 bundle; @FOR( CUST( I): @SUM( BUNDLE( J) : X( I, J)) <= YM( I); @BIN( YM( I)); ); ! Force development costs to be incurred...; @FOR( CXB( I, J): X( I, J) <= YP( J); ! for product J; ! The X's are binary, yes/no, 1/0 variables; @BIN( X( I, J)); ); ! Compute consumer surplus for customer I; @FOR( CUST( I): SRP( I) = @SUM( BUNDLE( J): RP( I, J) * X( I, J) - EFP( I, J)); ! Customer chooses maximum consumer surplus; @FOR( BUNDLE( J): SRP( I) >= RP( I, J) - ( 1 - DISC( I)) * PRICE( J) ); ); ! Force effective price to take on proper value; @FOR( CXB( I, J): ! zero if I does not buy J; EFP( I, J) <= X( I, J) * RP( I, J); ! cannot be greater than price; EFP( I, J) <= ( 1 - DISC( I)) * PRICE( J); ! cannot be less than price if bought; EFP( I, J) >= ( 1 - DISC( I))* PRICE( J) - ( 1 - X( I, J))* PMAX( J); ); ! Compute upper bounds on prices; @FOR( BUNDLE( J): PMAX( J) = @MAX( CUST( I): RP( I, J)/(1 - DISC( I))); ); END MODEL: !Product pricing; !Producer chooses prices to maximize producer surplus; !Each customer chooses the one product/bundle that maximizes consumer surplus; SETS: CUST/ HOME STUD BUS/: SIZE, ! Each cust/market has a size; DISC, ! Discount off list price willing to give to I; DISD, ! Discount given to dealer(who sells full price); FM, ! Fixed cost of developing market I; YM, ! = 1 if we develop market I, else 0; SRP; ! Consumer surplus achieved by customer I;þÿÿÿýÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ¶ CONTENTSÿÿÿÿÿÿÿÿÿÿÿÿ¶ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  !"#$%&'()*+,-./012þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^ é‹XfþĶ Contentsÿÿÿÿÿÿÿÿÿÿÿÿ µÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì‹{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red0\green175\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20 MODEL\cf2 : \par \cf3 !Product pricing;\cf2 \par \cf3 !Producer chooses prices to maximize producer surplus;\cf2 \par \cf3 !Each customer chooses the one product/bundle that maximizes consumer surplus;\cf2 \par \cf1 SETS\cf2 : \par CUST/ HOME STUD BUS/: \par SIZE, \cf3 ! Each cust/market has a size;\cf2 \par DISC, \cf3 ! Discount off list price willing to give to I;\cf2 \par DISD, \cf3 ! Discount given to dealer(who sells full price);\cf2 \par FM, \cf3 ! Fixed cost of developing market I;\cf2 \par YM, \cf3 ! = 1 if we develop market I, else 0;\cf2 \par SRP; \cf3 ! Consumer surplus achieved by customer I;\cf2 \par BUNDLE/ B1 B2 B3 B12 B13 B23 B123/: \par COST, \cf3 ! Each product/bundle has a cost/unit to producer;\cf2 \par FP, \cf3 ! Fixed cost of developing product J;\cf2 \par YP, \cf3 ! = 1 if we develop product J, else 0;\cf2 \par PRICE, \cf3 ! List price of product J;\cf2 \par PMAX; \cf3 ! Max price that might be charged;\cf2 \par CXB( CUST, BUNDLE): RP, \cf3 ! Reservation price of customer I for product J;\cf2 \par EFP, \cf3 ! Effective price I pays for J, = 0 if not bought;\cf2 \par X; \cf3 ! = 1 if I buys J, else 0;\cf2 \par \cf1 ENDSETS\cf2 \par \cf1 DATA\cf2 : \par \cf3 ! Reservation prices;\cf2 \par RP = 400 50 200 450 650 250 700 \par 200 200 50 350 250 250 400 \par 500 100 100 550 600 260 600; \par \cf3 ! Variable costs of each product;\cf2 \par COST = 100 20 30 120 130 50 150; \par \cf3 ! Fixed product development costs;\cf2 \par FP = 30000 40000 60000 10000 20000 8000 0; \par \cf3 ! Customer sizes;\cf2 \par SIZE = 4000 3000 3000; \par \cf3 ! Fixed market development costs;\cf2 \par FM = 15000 12000 10000; \par \cf3 ! Discount off list price to each customer, 0 <= DISC < 1;\cf2 \par DISC = 0 .1 0; \par \cf3 ! Discount/tax off list to each dealer, 0 <= DISD < 1;\cf2 \par DISD = .05 0 0; \par \cf1 ENDDATA\cf2 \par \cf3 !-------------------------------------------------;\cf2 \par \cf3 ! The seller wants to maximize the profit contribution;\cf2 \par [PROFIT] \cf1 MAX\cf2 = \par \cf1 @SUM\cf2 ( CXB( I, J): \par SIZE( I) * EFP( I, J) \cf3 ! Revenue;\cf2 \par - COST( J)* SIZE( I) * X( I, J) \par \cf3 ! Variable cost;\cf2 \par - EFP( I, J) * SIZE( I) * DISD( I)) \par \cf3 ! Discount to dealers;\cf2 \par - \cf1 @SUM\cf2 ( BUNDLE: FP * YP) \par \cf3 ! Product development cost;\cf2 \par - \cf1 @SUM\cf2 ( CUST: FM * YM); \par \cf3 ! Market development cost;\cf2 \par \cf3 ! Each customer can buy at most 1 bundle;\cf2 \par \cf1 @FOR\cf2 ( CUST( I): \par \cf1 @SUM\cf2 ( BUNDLE( J) : X( I, J)) <= YM( I); \par \cf1 @BIN\cf2 ( YM( I)); \par ); \par \cf3 ! Force development costs to be incurred...;\cf2 \par \cf1 @FOR\cf2 ( CXB( I, J): X( I, J) <= YP( J); \par \cf3 ! for product J;\cf2 \par \cf3 ! The X's are binary, yes/no, 1/0 variables;\cf2 \par \cf1 @BIN\cf2 ( X( I, J)); \par ); \par \cf3 ! Compute consumer surplus for customer I;\cf2 \par \cf1 @FOR\cf2 ( CUST( I): SRP( I) \par = \cf1 @SUM\cf2 ( BUNDLE( J): RP( I, J) * X( I, J) \par - EFP( I, J)); \par \cf3 ! Customer chooses maximum consumer surplus;\cf2 \par \cf1 @FOR\cf2 ( BUNDLE( J): \par SRP( I) >= RP( I, J) \par - ( 1 - DISC( I)) * PRICE( J) \par ); \par ); \par \cf3 ! Force effective price to take on proper value;\cf2 \par \cf1 @FOR\cf2 ( CXB( I, J): \par \cf3 ! zero if I does not buy J;\cf2 \par EFP( I, J) <= X( I, J) * RP( I, J); \par \cf3 ! cannot be greater than price;\cf2 \par EFP( I, J) <= ( 1 - DISC( I)) * PRICE( J); \par \cf3 ! cannot be less than price if bought;\cf2 \par EFP( I, J) >= ( 1 - DISC( I))* PRICE( J) \par - ( 1 - X( I, J))* PMAX( J); \par ); \par \cf3 ! Compute upper bounds on prices;\cf2 \par \cf1 @FOR\cf2 ( BUNDLE( J): PMAX( J) \par = \cf1 @MAX\cf2 ( CUST( I): RP( I, J)/(1 - DISC( I))); \par ); \par \cf1 END\cf2 \par \par }