【1stopt】1stOpt的编程模式

来源:互联网 发布:华润漆怎么样 知乎 编辑:程序博客网 时间:2024/06/04 00:39
1stOpt的编程模式

 

1stOpt的快捷模式直观、简单、明了、易于掌握,可以解决大部分优化问题,但对于一些复杂的问题,如目标函数或约束函数无法用简单的表达式来表述计算,而是通过复杂的逻辑判断、循环运算等来表达计算,快捷模式则无能为力,此时可用1stOpt的编程模式来解决。1stOpt直接支持Basic和Pascal两种语言。从理论上来说,编程模式可以处理解决全部快捷模式下的问题。

 

编程模式的主要关键字:

1)StartProgram :定义编程模式的起始行y“StartProgram [Basic]”表示用Basic语言y“StartProgram [Pascal]”或“StartProgram”表示用Pascal语言

2)EndProgram:定义编程模式的终止行在“StartProgram”和“EndProgram”间按标准的Delphi/Pascal或Basic语言编写。

3)ObjectiveResult:定义目标函数,仅可有一次。

4)ConstrainedResult:定义约束函数,可有多个。


例 约束函数优化问题

1stOpt快捷模式代码:

Parameter x(4)=[-100,100]; MinFunction 10*x1+9*x2+8*x3+7*x4*sin(x1+x2+x3);             (3*x2+2*x4*cos(x1+x2+x3+x4))^2<=90;                                      x1+x2>=-30;                                      x3+x4>=30;                                  3*x1+2*x3<=120;

1stOpt编程模式Basic代码:

Parameter x(4)=[-100,100]; Minimum; StartProgram [Basic]; Sub MainModel     ObjectiveResult = 10*x1+9*x2+8*x3+7*x4*sin(x1+x2+x3)      ConstrainedResult = (3*x2+2*x4*cos(x1+x2+x3+x4))^2<=90         ConstrainedResult = x1+x2>=-30     ConstrainedResult = x3+x4>=30         ConstrainedResult = 3*x1+2*x3<=120End Sub EndProgram; 

1stOpt编程模式Pascal代码:

Parameter x(4)=[-100,100]; Minimum; StartProgram [Pascal]; Procedure MainModel; Begin     ObjectiveResult := 10*x1+9*x2+8*x3+7*x4*sin(x1+x2+x3);     ConstrainedResult := sqr(3*x2+2*x4*cos(x1+x2+x3+x4))<=90;     ConstrainedResult := x1+x2>=-30;     ConstrainedResult := x3+x4>=30;     ConstrainedResult := 3*x1+2*x3<=120; End; EndProgram;




0 0
原创粉丝点击