多目标非线性规划程序(Matlab)`.doc
文本预览下载声明
function [errmsg,Z,X,t,c,fail] = BNB18(fun,x0,xstat,xl,xu,A,B,Aeq,Beq,nonlcon,setts,options1,options2,maxSQPit,varargin);
%·???D???êy1????£Dí?ó?a·??§?¨??μü′ú??·¨?£?úMATLAB5.3?Dê1ó?£?DèOptimization toolbox 2.0?§3??
% Minimize F(x)
%subject to: xlb = x =xub
% A*x = B
% Aeq*x=Beq
% C(x)=0
% Ceq(x)=0
%
% x(i)?é?aá?D?±?á?£???êy£??ò1ì?¨?μ
% ê1ó???ê?
%[errmsg,Z,X]=BNB18(fun,x0,xstat,xl,xu,A,B,Aeq,Beq,nonlcon,setts)
%fun£o M???t??£?±íê?×?D??ˉ??±êoˉêyf=fun(x)
%x0: áD?òá?£?±íê?±?á?3??μ
%xstat£o áD?òá?£?xstat(i)=0±íê?x(i)?aá?D?±?á?£?1±íê???êy£?2±íê?1ì?¨?μ
%xl£o áD?òá?£?±íê?±?á?????
%xu: áD?òá?£?±íê?±?á?é???
%A: ???ó, ±íê???D?2?μèê???ê??μêy
%B: áD?òá?, ±íê???D?2?μèê???ê?é???
%Aeq: ???ó, ±íê???D?μèê???ê??μêy
%Beg: áD?òá?, ±íê???D?2?μèê???ê?óò???μ
%nonlcon: M???t??£?±íê?·???D???ê?oˉêy[C,Ceq]=nonlin(x),???DC(x)?a2?μèê???ê?,
% Ceq(x)?aμèê???ê?
%setts: ??·¨éè??
%errmsq: ·μ??′í?óìáê?
%Z: ·μ????±êoˉêy×?D??μ
%X: ·μ??×?ó??a
%
%àyìa
% max x1*x2*x3
% -x1+2*x2+2*x3=0
% x1+2*x2+2*x3=72
% 10=x2=20
% x1-x2=10
% ?èD′ Moˉêydiscfun.m
% function f=discfun(x)
% f=-x(1)*x(2)*x(3);
%?ó?a
% clear;x0=[25,15,10];xstat=[1 1 1];
% xl=[20 10 -10];xu=[30 20 20];
% A=[1 -2 -2;1 2 2];B=[0 72];Aeq=[1 -1 0];Beq=10;
% [err,Z,X]=BNB18(discfun,x0,xstat,xl,xu,A,B,Aeq,Beq);
% XMAX=X,ZMAX=-Z
%
% BNB18 Finds the constrained minimum of a function of several possibly integer variables.
% Usage: [errmsg,Z,X,t,c,fail] =
% BNB18(fun,x0,xstatus,xlb,xub,A,B,Aeq,Beq,nonlcon,settings,options1,options2,maxSQPiter,P1,P2,...)
%
% BNB solves problems of the form:
% Minimize F(x) subject to: xlb = x0 =xub
% A*x = B Aeq*x=Beq
% C(x)=0 Ceq(x)=0
% x(i) is continuous for xstatus(i)=0
% x(i) integer for xstatus(i)= 1
%
显示全部