1

I was working on a project and I was wondering something about the functions of CPLEX for ILOG. For instance, I'm selling products for each customer, I have different probabilites for each of 6 products.It means probability of a person buying a product is different. Let's assume I have 2 customers and 6 products. For first customer, probabilities are 0.5 for first product, 0.3 for second product etc... So I want to maximize my profit and I know revenue for each product. My problem is how I can select the best profitable product according to these probabilities. Obviously, there has to be a way of using these probabilities. In the project, they are just giving probabilities but there is no explanation of how to use them. For now, my function is like this:

maximize
 sum (c in Customers, p in Products, ch in Channels)  (Revenue[p] * quantity[c][ch] - quantity[c][ch] * Cost[ch]); 

Quantity is used to determine how many times a channel is used to sell a product. There is a cost for 4 different channels.

Ahmet Tanakol
  • 849
  • 2
  • 20
  • 40

1 Answers1

0

It's not clear to me quite what are the decision variables that you are trying to get values for. I am guessing that you are trying to find the quantities for each customer on each channel (the quantity[c][ch] are the variables in the model, while Revenues and Costs are known?).

I am also a little confused why there is no apparent index on the quantity variables for the products - that would seem to be more normal if that is the type of model you are working on, something like:

maximize
 sum (c in Customers, p in Products, ch in Channels)  (Revenue[p] * quantity[c][ch][p] - quantity[c][ch][p] * Cost[ch]); 

Of course I may be completely wrong... Also, I may be playing fast and loose with the terminology here, but I want to get across at least a simple starting approach. Once you have something like what you need then you can extend the model or look into more complex handling of the uncertainty, maybe with more sophisticated handling of conditional probabilities, using multiple scenarios, etc.

To include probabilities, a simple way to achieve this is to think about the expectation value which can be thought of as simply the value times its probability, so on that basis a sale of $100 with a probability of 0.3 only has an expectation value of $30, while a different sale of $80 with probability 0.5 has an expectation of $40 and so is more valuable. Is that the sort of reasoning you were looking for?

If that is OK as an initial approach, then you could try something like:

maximize
 sum (c in Customers, p in Products, ch in Channels)  Probability[p] * (Revenue[p] * quantity[c][ch][p] - quantity[c][ch][p] * Cost[ch]); 
TimChippingtonDerrick
  • 2,042
  • 1
  • 12
  • 13
  • Thank you Tim, quantity[customers][channels] is used to choose best channels to contact with a customer. There are some constraints about channel capacity and channel availabilities. This is why I didn't use any thing about products for this decision variable. Revenues and Cost are known. Calculation of expected values seem quite logical to me now, I don't know why I didn't think about it. I was thinking how to use Products inside quantity but I couldn't find any solution. This probability is calculated as “Propensity To Buy x Channel Lift”. Getting them from 2 different sheets in Excel. – Ahmet Tanakol Apr 25 '13 at 17:28
  • I did what u said to me and I noticed different usage in channels, I will try to find the correct results and I can say if the method is correct or not. – Ahmet Tanakol Apr 25 '13 at 17:28