2013-04-24 3 views
1

Я работал над проектом, и мне было интересно узнать о функциях CPLEX для ILOG. Например, я продаю продукты для каждого клиента, у меня разные вероятности для каждого из 6 продуктов. Это означает, что вероятность того, что человек покупает продукт, отличается. Предположим, у меня есть 2 клиента и 6 продуктов. Для первого клиента вероятность равна 0,5 для первого продукта, 0,3 для второго продукта и т. Д. Итак, я хочу максимизировать свою прибыль, и я знаю доход для каждого продукта. Моя проблема заключается в том, как я могу выбрать лучший доходный продукт в соответствии с этими вероятностями. Очевидно, что должен быть способ использования этих вероятностей. В проекте они просто дают вероятности, но нет объяснений, как их использовать. На данный момент моя функция такова:Максимизация объективной функции в CPLEX с помощью ILOG

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

Количество, используемое для определения того, сколько раз канал используется для продажи продукта. Существует 4 разных канала.

ответ

0

Непонятно, какие переменные решения вы пытаетесь получить. Я предполагаю, что вы пытаетесь найти количества для каждого клиента на каждом канале (количество [c] [ch] - это переменные в модели, а доходы и затраты известны?).

Я также немного смущен, почему нет очевидного индекса количественных переменных для продуктов - это, казалось бы, более нормальными, если это тип модели вы работаете, что-то вроде:

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

Конечно, я могу быть совершенно неправым ... Кроме того, я могу играть быстро и свободно с терминологией здесь, но я хочу получить хотя бы простой подход к началу работы. Если у вас есть что-то вроде того, что вам нужно, вы можете расширить модель или изучить более сложную обработку неопределенности, возможно, с более сложной обработкой условных вероятностей, используя несколько сценариев и т. Д.

Чтобы включить вероятности, простой способ для достижения этого нужно подумать о ожидаемом значении, которое можно рассматривать как просто значение, умноженное на его вероятность, поэтому на этой основе продажа 100 долларов с вероятностью 0,3 имеет только ожидаемую стоимость в 30 долларов, а другая продажа - 80 долларов США с вероятностью 0,5 имеет ожидание в 40 долларов и, следовательно, более ценно. Это то, что вы искали?

Если это ОК в качестве первоначального подхода, то вы могли бы попробовать что-то вроде:

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]); 
+0

Спасибо Тиму, количество [клиентов] [каналов] используется для выбора наилучших каналов, чтобы связаться с клиентом. Существуют некоторые ограничения пропускной способности канала и доступности каналов. Вот почему я не использовал ничего о продуктах для этой переменной решения. Доходы и стоимость известны. Расчет ожидаемых значений для меня сейчас вполне логичен, я не знаю, почему я об этом не думал. Я думал, как использовать продукты внутри количества, но я не мог найти никакого решения. Эта вероятность рассчитывается как «склонность покупать x канал». Получение их из двух разных листов в Excel. –

+0

Я сделал то, что сказал мне, и я заметил различное использование в каналах, я постараюсь найти правильные результаты, и могу сказать, правильно ли это метод. –

Смежные вопросы