我目前堅持使用MIP計劃,其中利率i是基於爲住房計劃A生產的單位數量。如果計劃出售的A房屋數量最多在所有四種類型中,然後i = 1。如果出售的計劃A房屋的數量是第二高的,那麼i = 2等等直到i = 4。利率基本上是2i%。不確定如何添加代表計劃房屋位置的約束條件,並在目標函數中實施正確的利率。目標函數使總利潤最大化(例如50,000A + 40,000B + 70,000C + 80,000D)。關於如何使用二進制變量來表示位置的任何想法?不同利率的混合整數方案
1
A
回答
2
這樣做的一種方法是使用置換矩陣p(i,j)
。即
sets
i = {A,B,C,D}
j = {1,2,3,4}
binary variable p(i,j)
# assignment constraints
sum(i,p(i,j))=1
sum(j,p(i,j))=1
# quantities sold
x(j) = sum(i, p(i,j)*x(i))
x(j) >= x(j+1)
# interest rate
r(i) = sum(j, p(i,j)*r(j))
r(j) = 2*j/100
不幸的是,表達式p(i,j)*x(i)
是非線性的。隨着一些努力,我們可以如下修復此:
sets
i = {A,B,C,D}
j = {1,2,3,4}
binary variable p(i,j)
positive variable q(i,j)
# assignment constraints
sum(i,p(i,j))=1
sum(j,p(i,j))=1
# quantities sold
x(j) = sum(i, q(i,j))
x(j) >= x(j+1)
# linearization of q(i,j) = p(i,j)*x(i)
q(i,j) <= p(i,j)*xup(i)
x(i) - xup(i)*(1-p(i,j)) <= q(i,j) <= x(i)
' interest rate
r(i) = 2*sum(j, p(i,j)*j)/100
這裏xup(i)
是x(i)
的上限。
不是一個非常優雅的公式。
相關問題
- 1. 方案:與集合混淆!
- 2. 與divs不同的利潤率
- 3. MATLAB - 混合不同採樣頻率的wav文件
- 4. C#SerialPort - 混合具有不同波特率端口的問題
- 5. 混合兩個不同比特率的wav文件
- 6. 混合32/64位解決方案
- 7. 混合內容攔截解決方案
- 8. 評估混合雲計算方案
- 9. 混合SQL和MongoDB解決方案
- 10. 混合不同級別的數據
- 11. Fortran整數精度混合
- 12. 混合整數和列表
- 13. 不同的混合行值?
- 14. 混合線性整數優化 - 基於對R中所有商店的不同處理優化利潤
- 15. Xcode 8:每個方案的不同權利導致錯誤
- 16. 混合混合模式乘法在FF和Chrome中的工作方式不同
- 17. 差異,調整和利潤率的Android
- 18. 如何在C#中獲得利率和同業拆借利率?
- 19. 角混入整合
- 20. gimp編輯混合python腳本產生不同的混合比混合工具
- 21. 混合雙/單方向的節點 - (流利)NHibernate的
- 22. 流利的NHibernate混合映射屬性
- 23. 方案不能整除
- 24. MySQL的非法混合整理當一切都整理相同
- 25. Xcode4 - 不同方案中的不同庫
- 26. 方案利弊和長度
- 27. 方案:採用一個4位數的整數,在方案
- 28. R - 下標解決方案混合合併?
- 29. 給予同等的利潤率從雙方的文本
- 30. 從mongoDB回寫混合數據到不同的集合
請以您如何嘗試解決方案爲例編輯您的問題。 –