主要内容

findindex

查找指定索引变量的数值索引等价物

描述

例子

numindex1,numindex2……numindexk) = findindex (varstrindex1,strindex2……strindexk)在优化变量中查找已命名索引变量的数值索引等价物var

例子

numindex= findindex (varstrindex1,strindex2……strindexk)查找指定索引变量的线性索引等价物。

例子

全部折叠

创建一个优化变量颜色它由主要的加性颜色名称和主要的减色法颜色名称索引。包括“黑”“白色”作为加色命名和“黑”作为减色法的颜色名称。

颜色= optimvar (“颜色”, (“黑色”“白色”“红色”“绿色”“蓝色”]、[“青色”“红色”“黄色”“黑色”]);

找到添加颜色的索引号“红色”“黑”还有减色法“黑”

[idxadd, idxsub] = findindex(颜色,{“红色”“黑”}, {“黑”})
idxadd =1×23 1
idxsub = 4

创建一个优化变量颜色它由主要的加性颜色名称和主要的减色法颜色名称索引。包括“黑”“白色”作为加色命名和“黑”作为减色法的颜色名称。

颜色= optimvar (“颜色”, (“黑色”“白色”“红色”“绿色”“蓝色”]、[“青色”“红色”“黄色”“黑色”]);

找出与组合等价的线性指标(“白色”、“黑色”)(“红”、“青色”)(“绿色”、“红色”),(“蓝色”、“黄色”)

idx = findindex(颜色,(“白色”“红色”“绿色”“蓝色”]、[“黑色”“青色”“红色”“黄色”])
idx =1×417 3 9 15

使用指定的索引变量创建并解决优化问题。问题是最大化的利润加权流量的水果到各个机场,受加权流量的约束。

rng (0)%的再现性p = optimproblem (“ObjectiveSense”“最大化”);流= optimvar (“流”...“苹果”“橘子”“香蕉”“浆果”}, {“纽约”“bo”“宽松”},...下界的,0,“类型”“整数”);p.Objective =总和(总和(兰德(4,3)。*流));p.Constraints.NYC =兰德(1、4)*流(:,“纽约”) < = 10;p.Constraints.BOS =兰德(1、4)*流(:,“bo”) < = 12;p.Constraints.LAX =兰德(1、4)*流(:,“宽松”) < = 35;索尔=解决(p);
使用intlinprog解决问题。LP:最佳目标值为-1027.472366。启发式:用ZI轮找到1个解。上限为-1027.233133。相对差距为0.00%。找到最优解。Intlinprog在根节点停止,因为客观值在最优值options的间隙公差范围内。AbsoluteGapTolerance = 0(默认值)。intcon变量是在公差选项内的整数。IntegerTolerance = 1e-05(默认值)。

找出橙子和浆果流向纽约和洛杉矶的最佳流量。

[idxFruit,idxAirports] = finddex (flow, {“橘子”“浆果”}, {“纽约”“宽松”})
idxFruit =1×22 4
idxAirports =1×21 3
橙莓= sol.flow(idxFruit, idxAirports)
orangeBerries =2×20 980.000 70.0000

这个显示意味着没有橙子会纽约70个浆果纽约, 980个橘子将会宽松的而浆果则不会宽松的

列出以下最优流程:

果机场

----- --------

浆果纽约

苹果BOS

橙子松懈

Idx = finddex (flow, {“浆果”“苹果”“橘子”}, {“纽约”“bo”“宽松”})
idx =1×34 5 10
optimalFlow = sol.flow (idx)
optimalFlow =1×370.0000 28.0000 980.0000

这个展示意味着70个浆果纽约28个苹果BOS980个橙子将会宽松的

为不同土地类型、潜在作物和耕作方法的问题创建命名的索引变量。

土地= [“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”在任何干旱条件下种植的作物,并按传统耕作。

[idxLand, idxCrop, idxPlough] = finddex (xcrop, [“dry-good”“dry-poor”],...“wheat-onion”“wheat-lentil”],“传统”);x0.xcrop (idxLand idxCrop idxPlough) = 3000;

设置以下三个点的初始值。

旱作作物方法价值旱作小麦-玉米机械化2000年,旱作大麦-洋葱传统5000年,旱作大麦-鹰嘴豆机械化3500年
idx = findindex (xcrop,...“dry-good”“irr-poor”“irr-good”],...“小麦加工”“barley-onion”“barley-chickpea”],...“机械化”“传统”“机械化”]);x0.xcrop (idx) =(2000、5000、3500);

输入参数

全部折叠

优化变量,指定为OptimizationVariable对象。创建var使用optimvar

例子:var = optimvar(“var”、4、6)

指定为字符向量、字符向量、字符串向量或整数向量的单元格数组的命名索引。的数量strindex参数必须为中的维数var

例子:(“小”、“中等”、“大”)

数据类型:|字符|字符串|细胞

输出参数

全部折叠

数值索引等效,作为整数向量返回。输出参数的数量必须是下列参数之一:

  • 里面的维度数var.每个输出向量numindexj数值是否与相应的输入参数等效strindexj

  • 一个。在本例中,表示每个输入的大小strindexj必须对所有人都一样吗j,且输出满足线性索引准则

    var (numindex (j)) = var (strindex1 (j),…,strindexk (j))对所有j

介绍了R2018a