优化我们希望能够将这些变量设置为整数,而据我所知不能没有全局优化工具箱,但我们不确定如果我们所做的其他方面可能的范围内,工具箱。遗憾的是,由于项目资金很可能我们只有能力得到永久访问一个2工具箱,所以我们想知道什么是可能的,我们将是最适合做这项工作。
与两个变量非线性优化,1变量总是等于极限
4视图(30天)
显示旧的评论
我们正在致力于一个项目,需要通过优化焊接项目的成本最小化项目焊工的用量以及天项目需要的数量。我们目前遇到一个问题,焊工的用量将无穷,并将始终等于我们所设定的上限。这是我们优化方程,以及约束和调用fmincon
清晰;
clc;
0 x0 = [0];
%可能输入%
最后期限= 30;
upperBounds =(15期限);
%设置默认的解算器选项
选择= optimoptions (“fmincon”,“PlotFcn”,“optimplotfvalconstr”);
%解决
(解决方案,objectiveValue) = fmincon (@objectiveFcn, x0, []、[] [], [],…
0(大小(x0))、upperBounds @constraintFcn,选项);
%明显的变量
clearvars选项
clc;
disp(解决方案);
disp (objectiveValue);
函数f = objectiveFcn (optimInput)
但是现在临时值%的输入
workHours = 10;
paidHours = 11;
重量= 15000;
过剩= 6;
进程= 2;
welderCost = 523.41;
helperCost = 467.32;
laborerSkilledCost = 467.32;
stabberCost = 450.87;
spacerO16Cost = 450.87;
operatorCost = 576.98;
foremanCost = 756.76;
strawBossCost = 643.35;
clampmanCost = 450.87;
qaqcCost = 678.24;
pipelayerCost = workHours * 124.54;
贷款= 175;
焊工= optimInput (1);
天= optimInput (2);
constcrew = 8;%稻草,领班2衬垫、锥子clampman 2操作符
f =天*(焊工* welderCost +焊工* helperCost +(焊工/ 3)* laborerSkilledCost…
+ foremanCost + strawBossCost + stabberCost + 2 * spacerO16Cost +进程* qaqcCost…
+ clampmanCost + 2 * pipelayerCost + 2 * operatorCost +(焊工* 2 + constcrew +(焊工/ 3)+进程)*贷款);
结束
函数测查[c] = constraintFcn (optimInput)
%,如果没有不等式约束,指定c = []
%,如果没有等式约束,指定测查= []
eff = 5;
焊缝= 1000;
焊工= optimInput (1);
天= optimInput (2);
c = [];
测查=(焊工*天* eff) -焊接;
结束
我们将最优方程天之间找到最佳平衡和焊工,不仅最大化数量的焊工。我们优化了,有没有更好的方法?
编辑添加完整代码