我目前坚持使用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回写混合数据到不同的集合
请以您如何尝试解决方案为例编辑您的问题。 –