MODEL:
! Conjoint analysis model to decide how much weight
  to give to the two product attributes of warranty
  length and price.
 Keywords: conjoint analysis, marketing, utility function;

! The three possible price levels: high(H), medium(M), cheap(C));
! The possible warranty lengths are: Long(L), Intermed(I), and Short(S).
! Here is the customer preference rankings running
  from a least preferred score of 1 to the most
  preferred of 9.  Note that long warranty and cheap
  price are most preferred with a score of 9, 
  while short warranty and high price are least 
  preferred with a score of 1.
            HI,   MED,  CHP
       Long  7      8     9
   Intermed  3      4     6
      Short  1      2     5
 We want to construct an additive utility function so that
 the utility of combination i,j is WWT(i) + PWT(j).
 Variables:
     WWT_i = utility assigned to warranty i,
     PWT_j = utility assigned to price j,
     E_i_j_k_m = error in how the utility function 
                orders combination i,j vs. combination k,m

! A weighting that works for this ranking is:
     WWT( LONG)        7.00
     WWT( INTERMED)    2.00
     WWT( SHORT)       0.00
     PWT( HI)          0.00
     PWT( MED)         1.00
     PWT( CHP)         4.00;

      MIN=  E_L_H_L_M + E_L_H_L_C + E_L_M_L_C + E_I_H_L_H + E_I_H_L_M
           + E_I_H_L_C + E_I_H_I_M + E_I_H_I_C + E_I_H_S_C + E_I_M_L_H
           + E_I_M_L_M + E_I_M_L_C + E_I_M_I_C + E_I_M_S_C + E_I_C_L_H
           + E_I_C_L_M + E_I_C_L_C + E_S_H_L_H + E_S_H_L_M + E_S_H_L_C
           + E_S_H_I_H + E_S_H_I_M + E_S_H_I_C + E_S_H_S_M + E_S_H_S_C
           + E_S_M_L_H + E_S_M_L_M + E_S_M_L_C + E_S_M_I_H + E_S_M_I_M
           + E_S_M_I_C + E_S_M_S_C + E_S_C_L_H + E_S_C_L_M + E_S_C_L_C
           + E_S_C_I_C ;

  ! A Constaint for each pair of combinations for which the customer
    preferred combination (k,m) to combination (i,j). The constraint 
    forces Error(i,j,k,m) >= 1 if the utility function nevertheless
    implies (i,j) if preferred to (k,m);
   [ _2] E_L_H_L_C - PWT_H + PWT_C >= 1 ;
   [ _3] E_L_M_L_C - PWT_M + PWT_C >= 1 ;
   [ _4] E_I_H_L_H + WWT_L - WWT_I >= 1 ;
   [ _5] E_I_H_L_M - PWT_H + PWT_M + WWT_L - WWT_I >= 1 ;
   [ _6] E_I_H_L_C - PWT_H + PWT_C + WWT_L - WWT_I >= 1 ;
   [ _7] E_I_H_I_M - PWT_H + PWT_M >= 1 ;
   [ _8] E_I_H_I_C - PWT_H + PWT_C >= 1 ;
   [ _9] E_I_H_S_C - PWT_H + PWT_C - WWT_I + WWT_S >= 1 ;
   [_10] E_I_M_L_H + PWT_H - PWT_M + WWT_L - WWT_I >= 1 ;
   [_11] E_I_M_L_M + WWT_L - WWT_I >= 1 ;
   [_12] E_I_M_L_C - PWT_M + PWT_C + WWT_L - WWT_I >= 1 ;
   [_13] E_I_M_I_C - PWT_M + PWT_C >= 1 ;
   [_14] E_I_M_S_C - PWT_M + PWT_C - WWT_I + WWT_S >= 1 ;
   [_15] E_I_C_L_H + PWT_H - PWT_C + WWT_L - WWT_I >= 1 ;
   [_16] E_I_C_L_M + PWT_M - PWT_C + WWT_L - WWT_I >= 1 ;
   [_17] E_I_C_L_C + WWT_L - WWT_I >= 1 ;
   [_18] E_S_H_L_H + WWT_L - WWT_S >= 1 ;
   [_19] E_S_H_L_M - PWT_H + PWT_M + WWT_L - WWT_S >= 1 ;
   [_20] E_S_H_L_C - PWT_H + PWT_C + WWT_L - WWT_S >= 1 ;
   [_21] E_S_H_I_H + WWT_I - WWT_S >= 1 ;
   [_22] E_S_H_I_M - PWT_H + PWT_M + WWT_I - WWT_S >= 1 ;
   [_23] E_S_H_I_C - PWT_H + PWT_C + WWT_I - WWT_S >= 1 ;
   [_24] E_S_H_S_M - PWT_H + PWT_M >= 1 ;
   [_25] E_S_H_S_C - PWT_H + PWT_C >= 1 ;
   [_26] E_S_M_L_H + PWT_H - PWT_M + WWT_L - WWT_S >= 1 ;
   [_27] E_S_M_L_M + WWT_L - WWT_S >= 1 ;
   [_28] E_S_M_L_C - PWT_M + PWT_C + WWT_L - WWT_S >= 1 ;
   [_29] E_S_M_I_H + PWT_H - PWT_M + WWT_I - WWT_S >= 1 ;
   [_30] E_S_M_I_M + WWT_I - WWT_S >= 1 ;
   [_31] E_S_M_I_C - PWT_M + PWT_C + WWT_I - WWT_S >= 1 ;
   [_32] E_S_M_S_C - PWT_M + PWT_C >= 1 ;
   [_33] E_S_C_L_H + PWT_H - PWT_C + WWT_L - WWT_S >= 1 ;
   [_34] E_S_C_L_M + PWT_M - PWT_C + WWT_L - WWT_S >= 1 ;
   [_35] E_S_C_L_C + WWT_L - WWT_S >= 1 ;
   [_36] E_S_C_I_C + WWT_I - WWT_S >= 1 ;
   [_37] E_L_H_L_M - PWT_H + PWT_M >= 1 ;
 END