Market Sharing: Assigning Retailers to Company Divisions


Constraints

The following constraints are used in this example:

  • bounds on variables

  • for $\text {retailer} \in \text {RETAILERS}$,

    \[ \sum _{\text {division} \in \text {DIVISIONS}} \Variable{Assign[retailer,division]} = 1 \]
  • for $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MarketShare[`delivery',division]} = \frac{\sum \limits _{\text {retailer} \in \text {RETAILERS}} \Argument{delivery[retailer]} \cdot \Variable{Assign[retailer,division]}}{\sum \limits _{\text {retailer} \in \text {RETAILERS}} \Argument{delivery[retailer]}} \]
  • for $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MarketShare[`spirit',division]} = \frac{\sum \limits _{\text {retailer} \in \text {RETAILERS}} \Argument{spirit[retailer]} \cdot \Variable{Assign[retailer,division]}}{\sum \limits _{\text {retailer} \in \text {RETAILERS}} \Argument{spirit[retailer]}} \]
  • for $\text {reg} \in \text {REGIONS}$ and $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MarketShare[`oil'||reg,division]} = \frac{\sum \limits _{\text {retailer} \in \text {RETAILERS}\mr{\_ }\text {region[reg]}} \Argument{oil[retailer]} \cdot \Variable{Assign[retailer,division]}}{\sum \limits _{\text {retailer} \in \text {RETAILERS}\mr{\_ }\text {region[reg]}} \Argument{oil[retailer]}} \]
  • for $\text {group} \in \text {GROUPS}$ and $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MarketShare[`growth'||group,division]} = \frac{\sum \limits _{\text {retailer} \in \text {RETAILERS}\mr{\_ }\text {group[group]}} \Variable{Assign[retailer,division]}}{\left|\text {RETAILERS}\mr{\_ }\text {group[group]}\right|} \]
  • for $\text {category} \in \text {CATEGORIES}$ and $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MarketShare[category,division]} - \Variable{Surplus[category,division]} + \Variable{Slack[category,division]} = \Argument{target[division]} \]
  • for $\text {category} \in \text {CATEGORIES}$ and $\text {division} \in \text {DIVISIONS}$,

    \[ \Variable{MinMax} \ge \Variable{Surplus[category,division]} + \Variable{Slack[category,division]} \]