Pyomo约束和使用大熊猫

问题描述 投票:0回答:1

我正在使用Pyomo来优化一个使用债券的现金流匹配问题.我还想有一个详细的约束条件,确实看我预期从我的投资组合中获得的现金流与固定要求,并对差异进行一些计算。

  1. 计算差额(想要得到的减去预期得到的或图片中的 "进-出")。
  2. 使用累积因子计算这些差值到最后一个终点的累积值(用累积因子乘以差值--作为模型.AccumFactors存储)。
  3. 将这些同比累积系数相加(cumsum(axis=1))
  4. 找出最小值

[Excel流程说明][1]

现在熊猫命令在这种情况下无法使用。我有什么办法可以解决这个问题吗?有其他方法吗?

python pandas constraints pyomo
1个回答
0
投票

谢谢gmavrom。

试图思考一个不同的公式。下面的代码有乘数作为模型变量和其他一切参数.不幸的是,下面的代码不工作,只是打印出字符串。

54993.219033692505*Multipliers[Bond1] + 63662.18895851663*Multipliers[Bond2] + 64451.10079031628*Multipliers[Bond3] + ... 等等。

def Test1_Constraint(model, TimeIndex):
   SumAccumulatedShortfall=0
   for TimeCount in range(0,TimeIndex+1):
         AccumulatedShortfall = (model.Liabilities[TimeCount] - \
                    sum(model.BondPayment[BondIndex, TimeCount] *model.Multipliers[BondIndex] for BondIndex in model.Bonds))* \
                                  model.AccumulationFactor[TimeCount]

         SumAccumulatedShortfall = SumAccumulatedShortfall + AccumulatedShortfall
         print('SumAccum',SumAccumulatedShortfall)
    return (SumAccumulatedShortfall/model.TotalLiabilityValue <= 0.03)
© www.soinside.com 2019 - 2024. All rights reserved.