文档帮助中心
发现数字索引等价物命名索引变量
[numindex1, numindex2,…,numindexk) = findindex (var,strindex1,strindex2……strindexk)
numindex = findindex (strindexk var, strindex1, strindex2,…)
例子
(numindex1,numindex2……numindexk) = findindex (var,strindex1,strindex2……strindexk)发现数字索引等价物命名索引变量的优化变量var。
(numindex1,numindex2……numindexk) = findindex (var,strindex1,strindex2……strindexk)
numindex
var
strindex
numindex= findindex (var,strindex1,strindex2……strindexk)找到指定的索引变量的线性指数等价物。
numindex= findindex (var,strindex1,strindex2……strindexk)
全部折叠
创建一个优化变量命名颜色索引的主要添加剂颜色名称和主减色法名称。包括“黑”和“白色”作为添加剂名称和颜色“黑”作为一个减色的名字。
颜色
“黑”
“白色”
颜色= optimvar (“颜色”,(“黑色”,“白色”,“红色”,“绿色”,“蓝色”]、[“青色”,“红色”,“黄色”,“黑色”]);
找到索引编号为添加剂的颜色“红色”和“黑”和减色“黑”。
“红色”
[idxadd, idxsub] = findindex(颜色,{“红色”,“黑”},{“黑”})
idxadd =1×23个1
idxsub = 4
发现组合的线性指数等价物(“白色”、“黑色”),(“红”、“青色”),(“绿色”、“红色”),(“蓝色”、“黄色”)。
(“白色”、“黑色”)
(“红”、“青色”)
(“绿色”、“红色”)
(“蓝色”、“黄色”)
idx = findindex(颜色,(“白色”,“红色”,“绿色”,“蓝色”]、[“黑色”,“青色”,“红色”,“黄色”])
idx =1×417个3 9日15
创建和使用命名索引变量解决优化问题。问题是最大化profit-weighted水果流向不同的机场,受到约束加权流动。
rng (0)%的再现性p = optimproblem (“ObjectiveSense”,“最大化”);流= optimvar (“流”,…{“苹果”,“橘子”,“香蕉”,“浆果”},{“纽约”,“bo”,“宽松”},…下界的0,“类型”,“整数”);p。目标=总和(总和(兰德(4,3)。*流));p.Constraints。纽约= rand(1,4)*flow(:,“纽约”)< = 10;p.Constraints。BOS= rand(1,4)*flow(:,“bo”)< = 12;p.Constraints。宽松的= rand(1,4)*flow(:,“宽松”)< = 35;索尔=解决(p);
使用intlinprog解决问题。LP:最优的客观价值是-1027.472366。使用子启发式:发现1解决方案。上限是-1027.233133。相对差距是0.00%。找到最优解。Intlinprog停在根节点,因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0(默认值)。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05(默认值)。
找到最优的纽约和洛杉矶橘子和草莓。
[idxFruit, idxAirports] = findindex(流,{“橘子”,“浆果”},{“纽约”,“宽松”})
idxFruit =1×22 4
idxAirports =1×21 3
orangeBerries = sol.flow (idxFruit idxAirports)
orangeBerries =2×2980.0000 - 70.0000 0
这意味着没有橘子要显示纽约,70个浆果纽约980个橙子要宽松的,不去浆果宽松的。
纽约
宽松的
列表的最优流如下:
果机场
- - - - - - - - - - - - - - -
浆果纽约
苹果BOS
橙子松懈
idx = findindex(流,{“浆果”,“苹果”,“橘子”},{“纽约”,“bo”,“宽松”})
idx =1×34 5 10
optimalFlow = sol.flow (idx)
optimalFlow =1×370.0000 28.0000 980.0000
这意味着70个浆果会显示纽约,28日苹果要BOS,980橙子要宽松的。
BOS
创建命名索引变量的各种土地类型的问题,潜在的庄稼,和耕作方法。
土地= [“irr-good”,“irr-poor”,“dry-good”,“dry-poor”];作物= [“wheat-lentil”,“小麦加工”,“barley-chickpea”,“barley-lentil”,“wheat-onion”,“barley-onion”];犁= [“传统”,“机械化”];xcrop = optimvar (“xcrop”、土地、庄稼、犁,下界的,0);
设置初始点为零的数组的大小。
x0。xcrop = 0(大小(xcrop));
初始值设置为3000“wheat-onion”和“wheat-lentil”作物种植在任何干燥条件和传统耕种。
“wheat-onion”
“wheat-lentil”
[idxLand, idxCrop idxPlough] = findindex (xcrop, (“dry-good”,“dry-poor”),…(“wheat-onion”,“wheat-lentil”),“传统”);x0.xcrop (idxLand idxCrop idxPlough) = 3000;
以下三个点设置初始值。
2000年土地作物方法价值dry-good小麦加工机械化irr-poor barley-onion传统5000 irr-good barley-chickpea机械化3500
idx = findindex (xcrop,…(“dry-good”,“irr-poor”,“irr-good”),…(“小麦加工”,“barley-onion”,“barley-chickpea”),…(“机械化”,“传统”,“机械化”]);x0.xcrop (idx) = (2000、5000、3500);
OptimizationVariable
优化变量,作为指定OptimizationVariable对象。创建var使用optimvar。
optimvar
例子:var = optimvar (“var”、4、6)
var = optimvar (“var”、4、6)
名叫指数,指定为一个单元阵列的特征向量,特征向量,字符串向量,或整数向量。的数量strindex参数必须的维数var。
例子:(“小”、“中等”、“大”)
(“小”、“中等”、“大”)
数据类型:双|字符|字符串|细胞
双
字符
字符串
细胞
数字指标等价,返回一个整数向量。输出参数的数量必须是下列之一:
维度的数量var。每个输出向量numindexj在数值上等于相应的输入参数strindexj。
numindexj
strindexj
一个。在这种情况下,每个输入的大小strindexj必须是相同的吗j,输出满足线性索引准则
j
var (numindex (j)) = var (strindex1 (j),…, strindexk (j))对所有j。
var (numindex (j)) = var (strindex1 (j),…, strindexk (j))
OptimizationVariable|解决
解决
这个例子的修改版本存在于你的系统。你想打开这个版本呢?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室