遗传算法与直接搜索工具箱学习笔记 三-----目标函数的约束

来源:互联网 发布:单倍型网络 编辑:程序博客网 时间:2024/05/09 14:53

      在上一次的笔记中,我们编写了一个目标函数,大家可以看到这个目标函数的定义域(你不会不知道定义域吧,就是自变量的取值范围)没有任何的限制,在实际问题中,对自变量往往有很多的限制,比如,大于多少,小于多少等等,套用正规的江湖术语,称这些限制为“约束”。这一部分,就重点说一下“约束”的问题。约束被分成下面的4种类型:

1.边界约束。对自变量最大值与最小值的限制:X>=l 并且X<=u

2.线性不等式约束。Ax<=b,其中A为mXn的矩阵,x为nX1的矩阵,b为3X1的矩阵。描述了n个变量受到的m种不等式的限制。

3.线性等式约束。基本同2.

4.非线性约束。

还是具体看下面的例子吧,例子比较生动而且容易理解,呵呵。

一、边界约束

    边界约束主要就是包含对一个变量上界与下界的限制,在优化函数中,你如果知道它的边界,将这些边界的约束包含在问题的描述中,那么你将会又快又精确的得到你需要的结果。

针对于一个矢量x,边界约束必须与矢量x的维数相同。比如,x=[x1,x2,x3,x4],其中X1等为标量,那么边界约束的长度也必须是4,比如下界的约束为L=[1,2,3,4],上界为U=[5,6,7,8],那么等同于下面的式子:

1<=x1<=5

2<=x2<=6

3<=x3<=7

4<=x4<=8

如果约束是

  • x3 ≥ 8

  • x2 ≤ 3

 那么该如何表示呢?在Matlab中使用Inf代表正无穷,相应的-Inf表示负无穷。上下界的表示可以写为:L=[-Inf,-Inf,8,-Inf],上界U=[Inf,3,Inf,Inf].

二、线性不等式的约束

有下面的不等式

x1 + x3 ≤ 4,
2x2x3 ≥ –2,
x1x2 + x3x4 ≥ 9.

这里有4个标量组成的一个矢量x,写成Ax<=b形式的话,A就是一个3X4的矩阵,b为3X1的矩阵

A=[1  0  1  0;         b=[4;

      0 -2  1  0;              2;

     -1  1 -1  1 ]            -9]

x=[x1,x2,x3,x4]

 

Ax<=b

注意红色字体的数字与原来式子中的数字符号相反。

三、线性等式约束

基本同上面的线性不等式约束,唯一不同的是把A变成了Aeq,b变成了beq。在这里就不赘述了。

四、非线性约束

     非线性不等式约束的形式如c(x)<=0,非线性等式约束的形式如ceq(x)=0;对于非线性约束的表示一般使用函数的方式,就像c(x)<=0与ceq(x)=0那样。

     下面的一点比较重要,非线性约束的函数必须返回两个组成部分,一个是不等式约束,另一个是等式约束,尽管它们可能不是同时能够存在,如果其中的一个不存在,那么就返回[ ]。

假设有下列的不等式约束

把这个约束写成函数的M文件形式如下:

     function [c,ceq]=ellipseparabola(x)
         % Inside the ellipse bounded by (-3<x<3),(-2<y<2)
         % Above the line y=x^2-1
          c(1) = (x(1)^2)/9 + (x(2)^2)/4 - 1;%不等式约束1
          c(2) = x(1)^2 - x(2) - 1;%不等式约束2
          ceq = [];%等式约束,为空
    end

ellipseparabola 返回了一个[ ]作为非线性等式约束的结果。同时两个不等式约束都是 ≤ 0的形式。

如果你提供了c与ceq的梯度信息,也许算法会运行的更快,给你更多可信的结果。下面就是包含了梯度信息的约束函数的写法例子。

function [c,ceq,gradc,gradceq]=ellipseparabola(x)
    % Inside the ellipse bounded by (-3<x<3),(-2<y<2)
    % Above the line y=x^2-1
    c(1) = x(1)^2/9 + x(2)^2/4 - 1;
    c(2) = x(1)^2 - x(2) - 1;
    ceq = [];

    if nargout > 2
        gradc = [2*x(1)/9, 2*x(1);…
                         x(2)/2, -1];
        gradceq = [];
end

 

 

 

 

附注:本文为转载文章
原文出处:http://blog.csdn.net/niuyongjie/article/details/4863979
原作者:niuyongjie

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩几天不拉大便怎么办 宝宝经常不拉大便怎么办 宝宝便秘 肛裂了怎么办 3个月宝宝不便便怎么办 宝宝8个月不便便怎么办 宝宝在幼儿园不爱说话怎么办 广东学考考了d怎么办 上嘴唇干燥紧绷怎么办 美国大学gpa非常低怎么办 大学手机作弊通报教务处怎么办 崩坏3邮箱验证码过期怎么办 快递员被顾客恶意投诉怎么办 5岁幼儿逻辑思维差怎么办 脸一边胖一边瘦怎么办 夏天穿鞋子脚痒怎么办 脚痒怎么办但不是脚气 脚气脚趾缝烂了怎么办 凉鞋穿久了臭怎么办 运动鞋穿久了臭怎么办 体恤穿久了发臭怎么办 十七八岁青少年逆反心理怎么办 挨刚煮好的粥烫伤改怎么办? 5e的demo有水印怎么办 宝宝湿疹激素一停药复发怎么办 木工家装没事做怎么办 取票之后票丢了怎么办 补牙咬合低了点怎么办 留学生上美国网课上不了网怎么办 大四绩点不够2.0怎么办 ucas申请成绩下来后怎么办 在本校读研毕业东西怎么办 美国硕士gpa低于3.0怎么办 英国t4签证拒签怎么办 abc洗液过敏了怎么办 护士电子化注册忘记用户名怎么办 手机重力感应坏了怎么办 电脑所有驱动都删除了怎么办 毕业生没有签工作档案怎么办 澳洲两年工作签怎么办 上班一年没签劳动合同怎么办 公司拖欠工资怎么办没签劳动合同