Matlab 如何鼓励乐观主义者选择交易最少的解决方案(即最小化基数)
我有一个线性模型,它试图以最佳方式在“单元”之间移动“单元”。每次转账费用为2美元加上转账单位金额的1% 假设一个目标单元需要100个单元,并且可以从10个源单元中的任何一个接收它。我如何鼓励优化人员从一个源单元格(总成本2+1)转移100个单位,而不是从每个有效源单元格(总成本20+1)转移10个单位 如果有必要的话,我已经在matlab中使用mosek实现了这一点Matlab 如何鼓励乐观主义者选择交易最少的解决方案(即最小化基数),matlab,mathematical-optimization,linear-programming,constraint-programming,mosek,Matlab,Mathematical Optimization,Linear Programming,Constraint Programming,Mosek,我有一个线性模型,它试图以最佳方式在“单元”之间移动“单元”。每次转账费用为2美元加上转账单位金额的1% 假设一个目标单元需要100个单元,并且可以从10个源单元中的任何一个接收它。我如何鼓励优化人员从一个源单元格(总成本2+1)转移100个单位,而不是从每个有效源单元格(总成本20+1)转移10个单位 如果有必要的话,我已经在matlab中使用mosek实现了这一点 (如果问题有点含糊,我深表歉意,这都是自学成才的,我不知道如何用正确的术语毫不含糊地提出这个问题。如果有更合适的SE,我很乐意将
(如果问题有点含糊,我深表歉意,这都是自学成才的,我不知道如何用正确的术语毫不含糊地提出这个问题。如果有更合适的SE,我很乐意将这个问题重新提出。)关键是你希望最小化或最大化的目标函数是什么。如果您只想减少传输的数量,那么必须最小化非零传输的数量:假设您有一个变量$x{ij}$用于从$i$到$j$的传输,那么您应该最小化$\sum y{ij}$,其中$y{ij}$是一个二进制变量,当$x{ij}=0$时,值为$0$,否则为$1$ 我想您可以将整个模型表述为单元之间的最小成本流,可能有额外的约束条件和非平凡的目标函数
(顺便说一句,如果您需要帮助,您也可以在我们的谷歌论坛上与我们联系…关键是您希望最小化或最大化的目标函数。如果您只想减少传输的数量,那么必须最小化非零传输的数量:假设您有一个变量$x{ij}$用于从$i$到$j$的传输,那么您应该最小化$\sum y{ij}$,其中$y{ij}$是一个二进制变量,当$x{ij}=0$时,值为$0$,否则为$1$ 我想您可以将整个模型表述为单元之间的最小成本流,可能有额外的约束条件和非平凡的目标函数
(顺便说一句,如果您需要帮助,您也可以在我们的谷歌论坛上与我们联系…这是一个标准的整数规划,称为固定费用运输问题 假设有
s
供应商和D
客户有需求。
每个供应商i
都有S\u i
单元,每个客户j
都有需求D\u j
您需要两种类型的决策变量
是从供应商i到客户j的金额李>Xij
- 但是还有一个问题,那就是我们必须考虑固定成本
(每个发货单位的供应商2美元)。将固定成本变量设为Fij=2
如果供应商i向客户j发送非零数量的装置李>Y_ij=1
否则Y_ij=0
目标最小化所有子集之和。
最小和(F_ij Yij)+和Cij*Xij
从属于:
每个客户的i Xij>=D_j/需求满意度的总和
j Xij的总和=每个i和每个j的Xij
Yij二进制,Xij>=0
您将在任何标准或教科书中找到更多关于固定费用整数规划问题的内容。查找介绍整数规划的章节
这是一个标准的整数规划,叫做固定费用运输问题 假设有
s
供应商和D
客户有需求。
每个供应商i
都有S\u i
单元,每个客户j
都有需求D\u j
您需要两种类型的决策变量
是从供应商i到客户j的金额李>Xij
- 但是还有一个问题,那就是我们必须考虑固定成本
(每个发货单位的供应商2美元)。将固定成本变量设为Fij=2
如果供应商i向客户j发送非零数量的装置李>Y_ij=1
否则Y_ij=0
目标最小化所有子集之和。
最小和(F_ij Yij)+和Cij*Xij
从属于:
每个客户的i Xij>=D_j/需求满意度的总和
j Xij的总和=每个i和每个j的Xij
Yij二进制,Xij>=0
您将在任何标准或教科书中找到更多关于固定费用整数规划问题的内容。查找介绍整数规划的章节
希望这能帮助您向前迈进。如何设置$y{ij}$?如何设置$y{ij}$?
Objective Minimize sum of all Subsets.
Min sum (F_ij Yij) + sum Cij*Xij
Subject to:
Sum over i Xij >= D_j for each customer j //Demand satisfaction
Sum over j Xij <= S_i for each supplier i //Supply limitation
// if you use a supplier for a customer, Yij has to become 1.
Yij >= Xij for each i and each j
Yij binary, Xij >=0