20wangz 发表于 2008-5-23 00:36

一个应该很简单的问题

maximum f(a,x1,x2)
         s.t. g(x1,x2)=0

现在需得出a―fmax(注:fmax是与每一个a对应的上述函数的最大值)曲线。

比如:
max y=a*sin(a*x1)+(a-1)cos(x2)+3
s.t. x1^2-2*x1*x2-3*x2=0
      2<=x1<=4
      3<=x2<=8

现在a取一个序列,比如2:0.1:5。每当a取一个值时,就会得到一个ymax,最终ymax也是一个相应的序列。我想得到这两个序列(或者说是一维矢量)在平面坐标系中的对应曲线,即以a为横坐标,以ymax为纵坐标的曲线。

请各位师兄指点,最好能给出代码。谢谢了!

(1stOpt没有一个详细的教程和关键词的说明,使用中又没有语法提示,烦!)

大混子 发表于 2008-5-23 12:49

1stopt关键词

关键词名
意义及示例
Parameter
定义参数
例: 定义a, b, c, d四个参数: Parameter a, b, c, d;
例: 定义a1, a2, a3, a4, a5, a6, a7, a8, a9, a10十个参数:
Parameter a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
也可简写为: Parameter a(1:10);
例: 定义参数a,其取值范围在【-1,1】,初始值为0.5
Parameter a = 0.5 [-1, 1];
例: 定义参数a为整数,其取值范围在【-100,100】
Parameter a[-100,100,0];
Variable
定义变量
例:定义x, y, z三个变量: Variable x, y, z;
Function
定义函数
例:两变量曲线拟合: Functiony = a + b*exp(c – x);
例:两变量函数优化: Function(x+((2-x)*(2+y))^2)*sin(x*y);
Constant
定义常量
例:两变量曲线拟合: Functiony = a + b*exp(c – x);
例:两变量函数优化: Function(x+((2-x)*(2+y))^2)*sin(x*y);
ConstStr
定义常字符串量
例:两变量曲线拟合: Functiony = a*(c-x)^2 + b*exp((c – x)^4);
可写为:ConstStr B = (c-x)^2
Functiony = a*B + b*exp(B^2);
VarConstant
定义变常量
VarParameter
定义变参数
Data
定义数据开始
DataFile
定义数据文件
NewDivision
定义新得代码块
StartProgram
编程模式开始
EndProgram
编程模式结束
Maximum
求最大值
Minimum
求最小值
PlotFunction
画函数图
Algorithms
定义优化方法
Exclusive
定义问题为排它问题,如TSP问题
StartRange
定义初始值范围
SharedModel
定义共享参数问题,参见WWW
DataSet
定义常数
EndDataSet
结束定义常数
MinFunction
最小值求优
MaxFunction
最大值求优
PlotParaFunction
画参数方程函数图
Title
定义代码块名

20wangz 发表于 2008-5-23 13:39

谢谢兄台!以上资料我也有,可光看这点资料恐怕很难解决问题吧?

我在仿真论坛也发了相同的求助帖,那边的版主热情指点了。

谢谢大家!

dingd 发表于 2008-5-23 16:57

这是仿真论坛该问题的链接:
http://www.simwe.com/forum/thread-832346-1-1.html
页: [1]
查看完整版本: 一个应该很简单的问题