首页 理论教育 变量分点优化搜索法的基本索搜模式

变量分点优化搜索法的基本索搜模式

时间:2022-02-13 理论教育 版权反馈
【摘要】:本题为约束优化问题。约束函数无数量与顺序限制。本法不能写入等式约束。如炼油厂要求某月产B种汽油2000吨,数学模型中将有“B=2000”写法,但在搜索数据块中要写 “B≥2000”或“B≤2000”,需作出正确的逻辑判断与选择。该汽油生产困难,应写“B≥2000”,指明须保证产量;若生产容易,应写“B≤2000”,以防多产。此两写法将使搜索下来的产量很接近2000吨,仍相当于有“B=2000”约束。

本题为约束优化问题。先说明数据块写法较前增加的内容,即约束函数和中间计算部分。他们应写在式(4.1)的第二﹑三行间即必须在目标函数行前写(编程规定)。

数据块中约束函数写法。以式(4.7)第三行首个约束为例。写成一般式为“IF NOT f(X)>A GOTO P”,其中“IF NOT …GOTO P”为约束函数的固定写法;“f(X)> A”为不等式约束函数,f(X)为不等式左半,可为多项式,也可仅有一个变量;不等号可为“≤”﹑“≥”﹑“<”﹑“>”,但不能为“=”号(详后),A为具体数字。程序运行遇约束函数时,先检查当前运行参数是否满足f(X)>A,满足时该行不执行,转向下运行;不满足则转至P标号行。写入“NOT”指令的好处是,方便约束函数写入程序时的正确性检查,若无此指令,不等式写入时需将关系符反号,与数学模型的写法相悖,不方便查错。约束函数无数量与顺序限制。

本法不能写入等式约束。如炼油厂要求某月产B种汽油2000吨,数学模型中将有“B=2000”写法,但在搜索数据块中要写 “B≥2000”或“B≤2000”,需作出正确的逻辑判断与选择。若该汽油生产困难,写入“B≤2000”,实际生产将不会达到2000吨,因小于2000的任何值都满足约束;同理,若其生产容易时写入“B≥2000”,则对该汽油生产无限制意义,属错误约束。该汽油生产困难,应写“B≥2000”,指明须保证产量;若生产容易,应写“B≤2000”,以防多产。此两写法将使搜索下来的产量很接近2000吨,仍相当于有“B=2000”约束。

中间计算的写法。式(4.7)第五行“AR=1.3^2- (X(1)-1.7)^2”属中间计算内容。中间计算无固定写法与数量限制,只要需要,随时可写入数据块适当位置(不影响程序正确执行即可,易做到)。这里是因下面搜索判定约束是否满足需有一个“AR”值,先把它算出。

允许在搜索数据块中写入中间计算内容,对处理实际问题甚为灵活方便。只需在目标函数行前把应“怎样调整/准备”的内容写清即可,其可保程序运行连续流畅。

将数据块式(4.7)写入OPT 程序后部,开机即搜索。数据块有4行被REM隐蔽,搜得图4-9的解,见表4-2;当将被隐蔽行打开,而将其上另4行隐蔽时,搜得图4-10的解,见表4-3。

表4-2 图4-8的搜索结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈