【问题标题】:Formulating pricing optimization as MILP将定价优化制定为 MILP
【发布时间】:2020-03-13 11:45:10
【问题描述】:

我不确定是否可以以线性方式制定以下问题,或者我是否应该尝试非线性优化它。

我希望为产品找到固定费用F 和可变价格p 的最佳组合。

我有给定数量的n 客户,他们每个人都想购买数量q_i,他们愿意为此支付总价格w_i

我的目标是最大化收入:max sum( F + q_i * p) 为所有客户提供i in n

我的决策变量当然是Fp,然后是n 个二进制变量s_i,表示客户是否购买。

我无法以一种允许客户不购买的方式来阐述这个问题和限制 - 一些客户的支付意愿非常低。

显然存在F + q_i * p <= w_i 的约束,但这仅适用于购买的客户。我想强加像s_i * (F + q_i * p) <= w_i这样的东西,但这显然不是线性的。

我希望以上内容有意义,并提前感谢您的帮助。

【问题讨论】:

  • 这称为“固定收费问题”。这是一个众所周知的问题。可以使用 Google 找到标准配方。
  • 感谢您的评论!我很可能是错的,但据我了解固定费用问题,它是关于最小化一些已知的固定和可验证的“费用”总和的成本 - 通常是生产或运输的成本。在我的情况下,“收费”本身就是一个决策变量,在我的情况下,必须确定价格以优化收入。

标签: mathematical-optimization linear-programming nonlinear-optimization mixed-integer-programming


【解决方案1】:

让我再试一次。

我们可以将问题表述为:

 max sum(i,  s(i)*(F+p*q(i))) 
     s(i)*(F+p*q(i)) ≤ w(i)
     for variables s(i) ∈ {0,1}, p ≥ 0, F ≥ 0

这可以线性化为:

 max sum(i, y(i))
     y(i) ≤ F+p*q(i)
     y(i) ≤ s(i)*w(i)
     y(i) ≥ F+p*q(i) - (1-s(i))*M
     for variables s(i) ∈ {0,1}, p ≥ 0, F ≥ 0, y(i) ≥ 0
     with M a large enough constant

许多求解器允许指标约束。这将简化事情:

 max sum(i, y(i))
     s(i) = 1 ==> y(i) = F+p*q(i)
     y(i) ≤ s(i)*w(i)  
     for variables s(i) ∈ {0,1}, p ≥ 0, F ≥ 0, y(i) ≥ 0      

或使用两个指标约束::

 max sum(i, y(i))
     s(i) = 1 ==> y(i) = F+p*q(i)
     s(i) = 0 ==> y(i) = 0
     for variables s(i) ∈ {0,1}, p ≥ 0, F ≥ 0, y(i) ∈ [0,w(i)]      

【讨论】:

    猜你喜欢
    • 2021-01-15
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多