簡體   English   中英

參數必須是字符串或數字,而不是“LpAffineExpression”

[英]argument must be a string or a number, not 'LpAffineExpression'

我正在嘗試將 python IRR 函數與 PULP 最大化一起使用,但出現以下錯誤

TypeError: float() 參數必須是字符串或數字,而不是 'LpAffineExpression' TypeError Traceback (last last call last) in 11 name[6]*rate[6]*ratesList2[2] + name[7]*rate[ 7]*ratesList2[2] + name[8]*rate[8]*ratesList2[2] + name[9]*rate[9]*ratesList2[2] + name[10]*rate[10]*ratesList2[ 2] + 名稱[11]*rate[11]*ratesList2[2] + 12 name[12]*rate[12]*ratesList2[2] + name[13]*rate[13]*ratesList2[2] + name [14]*rate[14]*ratesList2[2] + name[15]*rate[15]*ratesList2[2] + name[16]*rate[16]*ratesList2[2] + name[17]*rate [17]*ratesList2[2] +

---> 13 名稱[18]*rate[18]*ratesList2[2])]) 14 15

problem += np.irr([(-19660528.00),
        (name[0]*rate[0] + name[1]*rate[1] + name[2]*rate[2] + name[3]*rate[3] + name[4]*rate[4] + name[5]*rate[5] + 
        name[6]*rate[6] + name[7]*rate[7] + name[8]*rate[8] + name[9]*rate[9] + name[10]*rate[10] + name[11]*rate[11] +
        name[12]*rate[12] + name[13]*rate[13] + name[14]*rate[14] + name[15]*rate[15] + name[16]*rate[16] + name[17]*rate[17] + 
        name[18]*rate[18]),
       (name[0]*rate[0]*ratesList1[1] + name[1]*rate[1]*ratesList2[1] + name[2]*rate[2]*ratesList2[1] + name[3]*rate[3]*ratesList2[1] + name[4]*rate[4]*ratesList2[1] + name[5]*rate[5]*ratesList2[1] + 
        name[6]*rate[6]*ratesList2[1] + name[7]*rate[7]*ratesList2[1] + name[8]*rate[8]*ratesList2[1] + name[9]*rate[9]*ratesList2[1] + name[10]*rate[10]*ratesList2[1] + name[11]*rate[11]*ratesList2[1] +
        name[12]*rate[12]*ratesList2[1] + name[13]*rate[13]*ratesList2[1] + name[14]*rate[14]*ratesList2[1] + name[15]*rate[15]*ratesList2[1] + name[16]*rate[16]*ratesList2[1] + name[17]*rate[17]*ratesList2[1] + 
        name[18]*rate[18]*ratesList2[1]),
       (name[0]*rate[0]*ratesList1[2] + name[1]*rate[1]*ratesList2[2] + name[2]*rate[2]*ratesList2[2] + name[3]*rate[3]*ratesList2[2] + name[4]*rate[4]*ratesList2[2] + name[5]*rate[5]*ratesList2[2] + 
        name[6]*rate[6]*ratesList2[2] + name[7]*rate[7]*ratesList2[2] + name[8]*rate[8]*ratesList2[2] + name[9]*rate[9]*ratesList2[2] + name[10]*rate[10]*ratesList2[2] + name[11]*rate[11]*ratesList2[2] +
        name[12]*rate[12]*ratesList2[2] + name[13]*rate[13]*ratesList2[2] + name[14]*rate[14]*ratesList2[2] + name[15]*rate[15]*ratesList2[2] + name[16]*rate[16]*ratesList2[2] + name[17]*rate[17]*ratesList2[2] + 
        name[18]*rate[18]*ratesList2[2])])

問題+=(姓名[0] +姓名[1] +姓名[2] +姓名[3] +姓名[4] +姓名[5] +姓名[6] +姓名[7] +姓名[8] +姓名[9] + 姓名[10] + 姓名[11] + 姓名[12] + 姓名[13] + 姓名[14] + 姓名[15] + 姓名[16] + 姓名[17] + 姓名[18]) < = sum(marketMix['GLA']), “第一個約束”

numpy 函數irr()將值列表作為參數。 相反,您傳遞的是包含需要優化的變量的線性表達式列表。 irr()不准備處理那個。 它假設所有參數都可以強制轉換為float 您必須明確聲明相應的表達式,而不是使用函數irr()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM