文件帮助中心文件
创建空优化平等数组
情商= optimeq (N)
情商= optimeq(装运箱)
情商= optimeq (cstrk cstr1, N2,…)
情商= optimeq ({cstr1 cstr2,…,cstrk})
情商= optimeq ((N1、N2…,Nk))
用optimeq初始化一组相等表达式。
optimeq
小费
有关完整的工作流程,请参见基于问题的优化工作流程或基于问题的解决方程的工作流程。
例子
eq.= OPTIMEQ(N)创造一个N- 1个空的优化等式数组。用eq.初始化创建平等的循环。在优化问题中使用产生的相位作为约束,或者在方程问题中的等式。
eq.= OPTIMEQ(N)
eq.
N
eq.= OPTIMEQ(Cstr.)创建一个空优化等式的数组Cstr.,由字符向量或字符串向量组成的单元格数组。
eq.= OPTIMEQ(Cstr.)
Cstr.
如果Cstr.是1-by-NCstr.,在那里NCstr.是元素的数量Cstr., 然后eq.也是1-by-NCstr.。否则,eq.是NCstr.1。
eq.= OPTIMEQ(Cstr.1,N2……Cstr.k)或eq.= OPTIMEQ({Cstr.1,Cstr.2……Cstr.k})或eq.= optimeq ([N1,N2……Nk),任何组合Cstr.和N参数,创建一个NCstr.1 -N2 -…——-NCstr.k阵列空优化平等,在哪里NCstr.元素的个数是多少Cstr.。
eq.= OPTIMEQ(Cstr.1,N2……Cstr.k)
eq.= OPTIMEQ({Cstr.1,Cstr.2……Cstr.k})
eq.= optimeq ([N1,N2……Nk)
全部折叠
为库存模型创建相等约束。每个时期初期的存货量等于上一个时期末的存货量。在每个时期,股票增加买和减少出售。变量股票是期末的股票。
买
出售
股票
N = 12;股票= optimvar (“股票”,n,1,“类型”那“整数”那'indowbound',0);购买= Optimvar(“买入”,n,1,“类型”那“整数”那'indowbound',0);卖= Optimvar('卖',n,1,“类型”那“整数”那'indowbound',0);initialStock = 100;Stockbalance = Optimeq(N,1);为了t = 1:n如果t == 1 Enterstock = InitialStock;其他的Enterstock =库存(T-1);结尾存货余额(t) = stock(t) == enterstock + buy(t) - sell(t);结尾显示(stockbalance)
(1,1) - (1)+销售(1)+库存(1)== 100(2,1)-Buy(2)+销售(2) - 库存(1)+库存(2)==0(3,1)-Buy(3)+销售(3) - 库存(2)+库存(3)== 0(4,1) - (4)+卖出(4) - 库存(3)+库存(4)== 0(5,1)-Buy(5)+销售(5) - 库存(4)+库存(5)== 0(6,1) - 布布(6)+卖(6)- 股票(5)+库存(6)== 0(7,1)-Buy(7)+销售(7) - 库存(6)+库存(7)== 0(8,1)-Buy(8)+ sell(8) - stock(7) + stock(8) == 0 (9, 1) -buy(9) + sell(9) - stock(8) + stock(9) == 0 (10, 1) -buy(10) + sell(10) - stock(9) + stock(10) == 0 (11, 1) -buy(11) + sell(11) - stock(10) + stock(11) == 0 (12, 1) -buy(12) + sell(12) - stock(11) + stock(12) == 0
包括优化问题中的约束。
prob = OptimProblem;prob.constraints.stockbalance = StockPalance;
您可以通过对变量使用矩阵操作来创建相同的约束,而不是使用循环。
Stockbalance2 = optimeq(12, 1);t = 2:12;Stockbalance2 (t) = stock(t) == stock(t-1) + buy(t) - sell(t);Stockbalance2 (1) = stock(1) == initialstock + buy(1) - sell(1);
显示新的约束。注意,它们与中的约束相同Stockbalance.。
Stockbalance.
显示(stockbalance2)
通过使用矩阵操作,循环中的创建约束可以比创建约束更耗时。
为涉及机场间货物运输的问题创建索引等式。首先,创建代表机场的指数。
机场= [“松懈”“jfk”“ord”];
创建代表商品的指数从一个机场发货到另一个机场。
商品= [“电子产品”“食品”“衣服”“原料”];
创建一个阵列,给出了每单位货物的重量。
权重= [1 20 5 100];
创建一个变量数组,表示从每个机场运送到彼此机场的货物数量。数量(airport1 airport2、货物)代表数量商品发货airport1至airport2。
数量(airport1 airport2、货物)
商品
airport1
airport2
数量= Optimvar('数量'、机场、机场、货物、'indowbound',0);
创建一个相等约束,使从每个机场装运的货物的重量之和等于装运到机场的货物的重量之和。
eq = Optimeq(机场);Outweight = Optimexpr(大小(eq));Inweight = Optimexpr(大小(eq));为了i = 1:长度(机场)temp = Optimexpr;temp2 = Optimexpr;为了J = 1:长度(机场)为了k = 1:长度(商品)TEMP = TEMP +数量(I,J,K)*重量(k);temp2 = temp2 +数量(j,i,k)*权重(k);结尾结尾超重(i)= temp;超重(i)= temp2;eq(i)=超重(i)==超重(i);结尾
检查平等。
显示(eq)
(1,'LAX') - Quanties('JFK','LAX','电子) - 数量('ORD','LAX','电子)+数量('LAX','JFK','电子)')+数量('LAX','ORD','Electronics') - 20 *数量('JFK','LAX','FoodStuffs') - 20 *数量('ORD','LAX','FOODSTUFF'','FOODSTUFF'))+ 20 *数量('LAX','JFK','FoodStuffs')+ 20 *数量('LAX','ORD','FoodStuffs') - 5 *数量('JFK','LAX','服装'') - 5 *数量('ORD','LAX','服装')+ 5 *数量('LAX','JFK','服装')+ 5 *数量('LAX','ORD','服装') - 100 *数量('JFK','LAX','原料') - 100 *数量('ORD','LAX','RAP')+ 100 *数量('LAX','JFK','原材料')+ 100 *数量('LAX','ORD','原材料')== 0(1,'JFK')数量('JFK','LAX','Electronics') -数量('LAX','JFK','电子产品') - 数量('ORD','JFK','电子产品')+数量('JFK','ORD','Electronics')+ 20 *数量('JFK','LAX','FoodStuffs') - 20 *数量('LAX','JFK','FoodStuffs') - 20 *数量('ORD)','JFK','FoodStuffs')+ 20 *数量('JFK','ORD','FoodStuffs')+ 5 *数量('JFK','LAX','服装') - 5 *数量('LAX','JFK','服装') - 5 *数量('ORD','JFK','服装')+ 5 *数量('JFK','ORD','服装')+ 100 *数量('JFK','LAX','原材料') - 100 *数量('LAX','JFK','原材料') - 100 *数量('ORD','JFK','原料')+100 *数量('JFK','ORD','原材料')== 0(1,'ORD')数量('ORD','LAX','电子)+数量('ORD','JFK' '电子') - 的数量( '洛杉矶', 'ORD', '电子') - 的数量( 'JFK', 'ORD', '电子')+ 20倍*量( 'ORD', '洛杉矶','食品+ 20 *数量('ORD','JFK','FoodStuffs') - 20 *数量('LAX','ORD','FoodStuffs') - 20 *数量('JFK','ORD',“食品”)+ 5 *数量('ORD','LAX','服装')+ 5 *数量('ORD','JFK','服装') - 5 *数量('LAX','ORD','服装') - 5 *数量('JFK','ORD','服装')+ 100 *数量('ORD','LAX','RAX','原材料')+ 100 *数量('ORD','JFK','原料') - 100 *数量('LAX','ORD','原料') - 100 *数量('JFK','ORD','原料')== 0.
避免嵌套为了循环,使用标准MATLAB®运算符表示平衡。通过在抵达机场指数上求和来创建出发量的阵列。挤压结果以删除单身尺寸。
为了
离开=挤压(总和(数量,2));
计算离开量的权重。
截止重量=离开*权重';
同样,计算到达量的权重。
到达=挤压(sum(数量、1));arriveweights =到达*权重”;
创建离去权重等于到达权重的约束。
Eq2 = departweights == arriveweights;
属性包含等式的适当索引名IndexNames财产。
IndexNames
eq2.indexnames = {airports,{}};
显示新的平等。请注意,它们与先前的等于相同,而是转换向量。
展示(EQ2)
('LAX',1) - Quanties('JFK','LAX','电子产品') - 数量('ORD','LAX','Electronics')+数量('LAX','JFK','电子)')+数量('LAX','ORD','Electronics') - 20 *数量('JFK','LAX','FoodStuffs') - 20 *数量('ORD','LAX','FOODSTUFF'','FOODSTUFF'))+ 20 *数量('LAX','JFK','FoodStuffs')+ 20 *数量('LAX','ORD','FoodStuffs') - 5 *数量('JFK','LAX','服装'') - 5 *数量('ORD','LAX','服装')+ 5 *数量('LAX','JFK','服装')+ 5 *数量('LAX','ORD','服装') - 100 *数量('JFK','LAX','原料') - 100 *数量('ORD','LAX','RAP')+ 100 *数量('LAX','JFK','原材料')+ 100 *数量('LAX','ORD','原料')== 0('JFK',1)数量('JFK','LAX','Electronics') -数量('LAX','JFK','电子产品') - 数量('ORD','JFK','电子产品')+数量('JFK','ORD','Electronics')+ 20 *数量('JFK','LAX','FoodStuffs') - 20 *数量('LAX','JFK','FoodStuffs') - 20 *数量('ORD)','JFK','FoodStuffs')+ 20 *数量('JFK','ORD','FoodStuffs')+ 5 *数量('JFK','LAX','服装') - 5 *数量('LAX','JFK','服装') - 5 *数量('ORD','JFK','服装')+ 5 *数量('JFK','ORD','服装')+ 100 *数量('JFK','LAX','原材料') - 100 *数量('LAX','JFK','原材料') - 100 *数量('ORD','JFK','原料')+100 *数量('JFK','ORD','原材料')== 0('ORD',1)数量('ORD','LAX','Electronics')+数量('ORD','JFK' '电子') - 的数量( '洛杉矶', 'ORD', '电子') - 的数量( 'JFK', 'ORD', '电子')+ 20倍*量( 'ORD', '洛杉矶','食品+ 20 *数量('ORD','JFK','FoodStuffs') - 20 *数量('LAX','ORD','FoodStuffs') - 20 *数量('JFK','ORD',“食品”)+ 5 *数量('ORD','LAX','服装')+ 5 *数量('ORD','JFK','服装') - 5 *数量('LAX','ORD','服装') - 5 *数量('JFK','ORD','服装')+ 100 *数量('ORD','LAX','RAX','原材料')+ 100 *数量('ORD','JFK','原料') - 100 *数量('LAX','ORD','原料') - 100 *数量('JFK','ORD','原料')== 0.
约束尺寸的大小,指定为正整数。
的大小若干= optimeq (N)是N1。
若干= optimeq (N)
的大小若干= optimeq (N1、N2)是N1——- - - - - -N2。
若干= optimeq (N1、N2)
N1
N2
的大小CONSTRIC = OPTIMEQ(N1,N2,...,NK)是N1——- - - - - -N2-By -...-Nk。
CONSTRIC = OPTIMEQ(N1,N2,...,NK)
Nk
例子:5.
5.
数据类型:双
双
索引的名称,指定为字符向量或字符串向量的单元格数组。
例子:{“红色”、“橙”、“绿色”、“蓝”}
{“红色”、“橙”、“绿色”、“蓝”}
例子:[“红色”;“橙色”;“绿色”;“蓝色”]
[“红色”;“橙色”;“绿色”;“蓝色”]
数据类型:细绳|细胞
细绳
细胞
OptimizationEquality
平等,作为空的返回OptimizationEquality数组中。用eq.初始化创建平等的循环。
例如:
x = Optimvar(“x”,8);eq = OPTIMEQ(4);为了k = 1:4 eq(k)= 5 * k *(x(2 * k) - x(2 * k-1))== 10 - 2 * k;结尾
您可以使用optimconstr代替optimeq为方程问题的优化问题或方程创建平等约束。
optimconstr
optimconstr|optimineq|OptimizationEquality
optimineq
您有这个示例的一个修改版本。要用编辑打开这个例子吗?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系