你好,我想问你一些关于优化与白杨建造的交流
40视图(30天)
显示旧的评论
你好,我是在学习MATLAB的优化
但它很困难,需要一些帮助我的代码。
我喜欢下但MATLAB代码指定识别函数或变量x”
所以我试图用“全球x”之前或空白的变量。
正如你期望,肯定没有工作
有谁帮我能给我建议吗?
谢谢你阅读我的请求
函数y =目标
MyObject = actxserver (“Hysys.Application”);
全球simcase %;
FileNamePath =“Test_Compressor stage_simplified”;
MySimCase = MyObject.SimulationCases.Open (“C: \用户桌面\液化天然气液化系统\ \ PSE_7 \ N2膨胀循环\多目标优化\白杨建造\ Test_Compressor stage_simplified.hsc”);
MySimCase.Visible = true;%的情况是在阿斯彭建造的
MyOperations = MySimCase.Flowsheet.Operations;%得到数据从我们的simcase操作
MyFlowSheet = MySimCase.get (“工艺流程图”);%访问流程
MyMaterialStreams = MyFlowSheet.get (“MaterialStreams”);%访问流模拟材料
MyEnergyStreams = MyFlowSheet.get (“EnergyStreams”);%的能量流
MyK1 =得到(MyOperations,“项目”,“k - 1”);
MyK2 =得到(MyOperations,“项目”,“K-2”);
MyE1 =得到(MyOperations,“项目”,“e 1”);
MyStreams = MySimCase.Flowsheet.Streams;
MyM0 =得到(MyStreams,“项目”,“M0”);
MyM1 =得到(MyStreams,“项目”,“M1”);
MyM2 =得到(MyStreams,“项目”,“平方米”);
MyM3 =得到(MyStreams,“项目”,“M3”);
MyW_1 =得到(MyStreams,“项目”,“w1”);
MyW_2 =得到(MyStreams,“项目”,“报税表”);
MyQ_1 =得到(MyStreams,“项目”,“q1”);
MyK1_Energy = MyK1.EnergyValue
MyK2_Energy = MyK2.EnergyValue
磅= [107];
乌兰巴托= [1000];
一个= [];
b = [];
Aeq = [];
说真的= [];
x0 = [150];
nonlincon = @GA_Con_Comps;
%选择= optimoptions(“遗传算法”,“显示”,“通路”,“算法”,“内点”);
MyM1。PressureValue = x;
如果MyM2。TemperatureValue < 30
MyM3。TemperatureValue = MyM2.TemperatureValue;
其他的
MyM3。TemperatureValue = 30;
结束
目标= MyK1_Energy + MyK2_Energy
x = ga(目标1 A、b Aeq,说真的,磅,乌兰巴托,nonlincon,选择);
disp (x)
disp ([的最终目的:num2str(客观(x))))
结束