24小时热门版块排行榜    

查看: 4471  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shu_fyh

新虫 (初入文坛)

[求助] matlab下用遗传算法求最小值的问题

刚刚接触matlab,有点问题求解答
现有这样一个方程:VRRm=0.2355-0.637*10-4x1+1.85875*10-4x2+0.82225*10-2x3-0.1715x4-1.6725*10-6x1*x2+0.966925*10-4x1*x3+0.403*10-4x2*x3-0.471*10-2x3*x4
x1、x2、x3、x4都有上下限,想借助matlab用遗传算法求VRR的最小值,自己编写一个程序麻烦吗,或者使用matlab遗传算法工具箱能实现吗?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
6楼: Originally posted by shu_fyh at 2013-11-21 16:53:14
遗产算法的过程我已经写出来了,就是不知道怎么用matlab来实现...

MATLAB有自带的遗传算法函数ga,虽然说MATLAB的内置的遗传算法并不是最优秀的,但求解你的问题应该没问题。
ga函数调用格式很方便,见MATLAB help:
GA    Constrained optimization using genetic algorithm.
    GA attempts to solve problems of the form:
        min F(X)  subject to:  A*X  <= B, Aeq*X  = Beq (linear constraints)
         X                     C(X) <= 0, Ceq(X) = 0 (nonlinear constraints)
                               LB <= X <= ub

    X = GA(FITNESSFCN,NVARS) finds a local unconstrained minimum X to the
    FITNESSFCN using GA. NVARS is the dimension (number of design
    variables) of the FITNESSFCN. FITNESSFCN accepts a vector X of size
    1-by-NVARS, and returns a scalar evaluated at X.

    X = GA(FITNESSFCN,NVARS,A,b) finds a local minimum X to the function
    FITNESSFCN, subject to the linear inequalities A*X <= B. Linear
    constraints are not satisfied when the PopulationType option is set to
    'bitString' or 'custom'. See the documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq) finds a local minimum X to the
    function FITNESSFCN, subject to the linear equalities Aeq*X = beq as
    well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.) Linear
    constraints are not satisfied when the PopulationType option is set to
    'bitString' or 'custom'. See the documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub) defines a set of lower and
    upper bounds on the design variables, X, so that a solution is found in
    the range lb <= X <= ub. Use empty matrices for lb and ub if no bounds
    exist. Set lb(i) = -Inf if X(i) is unbounded below;  set ub(i) = Inf if
    X(i) is unbounded above. Linear constraints are not satisfied when the
    PopulationType option is set to 'bitString' or 'custom'. See the
    documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON) subjects the
    minimization to the constraints defined in NONLCON. The function
    NONLCON accepts X and returns the vectors C and Ceq, representing the
    nonlinear inequalities and equalities respectively. GA minimizes
    FITNESSFCN such that C(X)<=0 and Ceq(X)=0. (Set lb=[] and/or ub=[] if
    no bounds exist.) Nonlinear constraints are not satisfied when the
    PopulationType option is set to 'bitString' or 'custom'. See the
    documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options) minimizes
    with the default optimization parameters replaced by values in the
    structure OPTIONS. OPTIONS can be created with the GAOPTIMSET function.
    See GAOPTIMSET for details.

    X = GA(PROBLEM) finds the minimum for PROBLEM. PROBLEM is a structure
    that has the following fields:
        fitnessfcn: <Fitness function>
             nvars: <Number of design variables>
             Aineq: <A matrix for inequality constraints>
             bineq: <b vector for inequality constraints>
               Aeq: <Aeq matrix for equality constraints>
               beq: <beq vector for equality constraints>
                lb: <Lower bound on X>
                ub: <Upper bound on X>
           nonlcon: <nonlinear constraint function>
           options: <Options structure created with GAOPTIMSET>
          rngstate: <State of the random number generator>

    [X,FVAL] = GA(FITNESSFCN, ...) returns FVAL, the value of the fitness
    function FITNESSFCN at the solution X.

    [X,FVAL,EXITFLAG] = GA(FITNESSFCN, ...) returns EXITFLAG which
    describes the exit condition of GA. Possible values of EXITFLAG and the
    corresponding exit conditions are

      1 Average change in value of the fitness function over
         options.StallGenLimit generations less than options.TolFun and
         constraint violation less than options.TolCon.
      3 The value of the fitness function did not change in
         options.StallGenLimit generations and constraint violation less
         than options.TolCon.
      4 Magnitude of step smaller than machine precision and constraint
         violation less than options.TolCon. This exit condition applies
         only to nonlinear constraints.
      5 Fitness limit reached and constraint violation less than
         options.TolCon.
      0 Maximum number of generations exceeded.
     -1 Optimization terminated by the output or plot function.
     -2 No feasible point found.
     -4 Stall time limit exceeded.
     -5 Time limit exceeded.

    [X,FVAL,EXITFLAG,OUTPUT] = GA(FITNESSFCN, ...) returns a
    structure OUTPUT with the following information:
              rngstate: <State of the random number generator before GA started>
           generations: <Total generations, excluding HybridFcn iterations>
             funccount: <Total function evaluations>
         maxconstraint: <Maximum constraint violation>, if any
               message: <GA termination message>

    [X,FVAL,EXITFLAG,OUTPUT,POPULATION] = GA(FITNESSFCN, ...) returns the
    final POPULATION at termination.

    [X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] = GA(FITNESSFCN, ...) returns
    the SCORES of the final POPULATION.


    Example:
      Unconstrained minimization of 'rastriginsfcn' fitness function of
      numberOfVariables = 2
       x = ga(@rastriginsfcn,2)

      Display plotting functions while GA minimizes
       options = gaoptimset('PlotFcns',...
         {@gaplotbestf,@gaplotbestindiv,@gaplotexpectation,@gaplotstopping});
       [x,fval,exitflag,output] = ga(@rastriginsfcn,2,[],[],[],[],[],[],[],options)

    An example with inequality constraints and lower bounds
     A = [1 1; -1 2; 2 1];  b = [2; 2; 3];  lb = zeros(2,1);
     % Use mutation function which can handle constraints
     options = gaoptimset('MutationFcn',@mutationadaptfeasible);
     [x,fval,exitflag] = ga(@lincontest6,2,A,b,[],[],lb,[],[],options);

      FITNESSFCN can also be an anonymous function:
         x = ga(@(x) 3*sin(x(1))+exp(x(2)),2)

    If FITNESSFCN or NONLCON are parameterized, you can use anonymous
    functions to capture the problem-dependent parameters. Suppose you want
    to minimize the fitness given in the function myfit, subject to the
    nonlinear constraint myconstr, where these two functions are
    parameterized by their second argument a1 and a2, respectively. Here
    myfit and myconstr are M-file functions such as

         function f = myfit(x,a1)
         f = exp(x(1))*(4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + a1);

    and

         function [c,ceq] = myconstr(x,a2)
         c = [1.5 + x(1)*x(2) - x(1) - x(2);
               -x(1)*x(2) - a2];
         % No nonlinear equality constraints:
          ceq = [];

    To optimize for specific values of a1 and a2, first assign the values
    to these two parameters. Then create two one-argument anonymous
    functions that capture the values of a1 and a2, and call myfit and
    myconstr with two arguments. Finally, pass these anonymous functions to
    GA:

      a1 = 1; a2 = 10; % define parameters first
      % Mutation function for constrained minimization
      options = gaoptimset('MutationFcn',@mutationadaptfeasible);
      x = ga(@(x)myfit(x,a1),2,[],[],[],[],[],[],@(x)myconstr(x,a2),options)
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
7楼2013-11-21 17:05:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

shu_fyh

新虫 (初入文坛)

求人来解答啊。。
2楼2013-11-21 13:01:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feifeiyin12

铁虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
可以实现,代码很简单,这个应该可以用非线性规划,随便找本matlab方面的书,半个小时可以搞定。手机不好发代码。你编程有问题可以去matlab论坛上问,那里这方面回答的人多些

[ 发自手机版 http://muchong.com/3g ]
勤学笃行,精雕细琢
3楼2013-11-21 13:28:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shu_fyh

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by feifeiyin12 at 2013-11-21 13:28:04
可以实现,代码很简单,这个应该可以用非线性规划,随便找本matlab方面的书,半个小时可以搞定。手机不好发代码。你编程有问题可以去matlab论坛上问,那里这方面回答的人多些
...

额,我说的是能不能用遗传算法搞定。。
4楼2013-11-21 14:08:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[职场人生] 40+中年人失业后,还能找到好工作吗? +9 xqy2009 2026-10-13 11/550 2026-10-15 16:37 by beefly
[有机交流] 用NBS溴化时溶剂除了CCl4外还有什么 +3 18834002860 2026-10-12 6/300 2026-10-15 14:30 by 长沙摩尔信息科�
[基金申请] 申请科研项目纯靠实力能成功吗? 200+7 David1982 2026-10-13 11/550 2026-10-15 10:30 by zyqchem
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
信息提示
请填处理意见