亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qpsub.m

?? matpower軟件下
?? M
?? 第 1 頁 / 共 3 頁
字號:
function [X,lambda,exitflag,output,how,ACTIND,msg] = ...
    qpsub(H,f,A,B,lb,ub,X,neqcstr,verbosity,caller,ncstr, ...
    numberOfVariables,options,defaultopt,ACTIND,phaseOneTotalScaling)
%QP Quadratic programming subproblem. Handles qp and constrained
%   linear least-squares as well as subproblems generated from NLCONST.
%
%   X=QP(H,f,A,b) solves the quadratic programming problem:
%
%            min 0.5*x'Hx + f'x   subject to:  Ax <= b 
%             x    
%

%   Copyright 1990-2004 The MathWorks, Inc. 
%   $Revision: 1.37.6.5 $  $Date: 2004/04/20 23:19:27 $
%

% Define constant strings
NewtonStep = 'Newton';
NegCurv = 'negative curvature chol';   
ZeroStep = 'zero step';
SteepDescent = 'steepest descent';
Conls = 'lsqlin';
Lp = 'linprog';
Qp = 'quadprog';
Qpsub = 'qpsub';
Nlconst = 'nlconst';
how = 'ok'; 

exitflag = 1;
output = [];
msg = []; % initialize to ensure appending is successful
iterations = 0;
if nargin < 16
  phaseOneTotalScaling = false;
  if nargin < 15
    ACTIND = [];  
    if nargin < 13
        options = []; 
    end
  end
end

lb=lb(:); ub = ub(:);

if isempty(verbosity), verbosity = 1; end
if isempty(neqcstr), neqcstr = 0; end

LLS = 0;
if strcmp(caller, Conls)
    LLS = 1;
    [rowH,colH]=size(H);
    numberOfVariables = colH;
end
if strcmp(caller, Qpsub)
    normalize = -1;
else
    normalize = 1;
end

simplex_iter = 0;
if  norm(H,'inf')==0 || isempty(H), is_qp=0; else, is_qp=1; end

if LLS==1
    is_qp=0;
end

normf = 1;
if normalize > 0
    % Check for lp
    if ~is_qp && ~LLS
        normf = norm(f);
        if normf > 0
            f = f./normf;
        end
    end
end

% Handle bounds as linear constraints
arglb = ~eq(lb,-inf);
lenlb=length(lb); % maybe less than numberOfVariables due to old code
if nnz(arglb) > 0     
    lbmatrix = -eye(lenlb,numberOfVariables);
    A=[A; lbmatrix(arglb,1:numberOfVariables)]; % select non-Inf bounds
    B=[B;-lb(arglb)];
end

argub = ~eq(ub,inf);
lenub=length(ub);
if nnz(argub) > 0
    ubmatrix = eye(lenub,numberOfVariables);
    A=[A; ubmatrix(argub,1:numberOfVariables)];
    B=[B; ub(argub)];
end 

% Bounds are treated as constraints: Reset ncstr accordingly
ncstr=ncstr + nnz(arglb) + nnz(argub);

% Figure out max iteration count
% For linprog/quadprog/lsqlin/qpsub problems, use 'MaxIter' for this.
% For nlconst (fmincon, etc) problems, use 'MaxSQPIter' for this.
if isequal(caller,Nlconst)
  maxiter = optimget(options,'MaxSQPIter',defaultopt,'fast'); 
  if ischar(maxiter)
    if isequal(lower(maxiter),'10*max(numberofvariables,numberofinequalities+numberofbounds)')
      maxiter = 10*max(numberOfVariables,ncstr-neqcstr);
    else
      error('optim:qpsub:InvalidMaxSQPIter', ...
            'Option ''MaxSQPIter'' must be an integer value if not the default.')
    end
  end
elseif isequal(caller,Lp)
  maxiter = optimget(options,'MaxIter',defaultopt,'fast');
  if ischar(maxiter)
    if isequal(lower(maxiter),'10*max(numberofvariables,numberofinequalities+numberofbounds)')
      maxiter = 10*max(numberOfVariables,ncstr-neqcstr);
    else
      error('optim:qpsub:InvalidMaxIter', ...
            'Option ''MaxIter'' must be an integer value if not the default.')
    end
  end
elseif isequal(caller,Qpsub)
  % Feasible point finding phase for qpsub 
  maxiter = 10*max(numberOfVariables,ncstr-neqcstr); 
else
  maxiter = optimget(options,'MaxIter',defaultopt,'fast');
end

% Used for determining threshold for whether a direction will violate
% a constraint.
normA = ones(ncstr,1);
if normalize > 0 
    for i=1:ncstr
        n = norm(A(i,:));
        if (n ~= 0)
            A(i,:) = A(i,:)/n;
            B(i) = B(i)/n;
            normA(i,1) = n;
        end
    end
else 
    normA = ones(ncstr,1);
end
errnorm = 0.01*sqrt(eps); 

tolDep = 100*numberOfVariables*eps;      
lambda = zeros(ncstr,1);
eqix = 1:neqcstr;

% Modifications for warm-start.
% Do some error checking on the incoming working set indices.
ACTCNT = length(ACTIND);
if isempty(ACTIND)
    ACTIND = eqix;
elseif neqcstr > 0
    i = max(find(ACTIND<=neqcstr));
    if isempty(i) || i > neqcstr % safeguard which should not occur
        ACTIND = eqix;
    elseif i < neqcstr
        % A redundant equality constraint was removed on the last
        % SQP iteration.  We will go ahead and reinsert it here.
        numremoved = neqcstr - i;
        ACTIND(neqcstr+1:ACTCNT+numremoved) = ACTIND(i+1:ACTCNT);
        ACTIND(1:neqcstr) = eqix;
    end
end
aix = zeros(ncstr,1);
aix(ACTIND) = 1;
ACTCNT = length(ACTIND);
ACTSET = A(ACTIND,:);

% Check that the constraints in the initial working set are
% not dependent and find an initial point which satisfies the
% initial working set.
indepInd = 1:ncstr;
remove = [];
if ACTCNT > 0 && normalize ~= -1
    % call constraint solver
    [Q,R,A,B,X,Z,how,ACTSET,ACTIND,ACTCNT,aix,eqix,neqcstr,ncstr, ...
            remove,exitflag,msg]= ...
        eqnsolv(A,B,eqix,neqcstr,ncstr,numberOfVariables,LLS,H,X,f, ...
        normf,normA,verbosity,aix,ACTSET,ACTIND,ACTCNT,how,exitflag); 
    
    if ~isempty(remove)
        indepInd(remove)=[];
        normA = normA(indepInd);
    end
    
    if strcmp(how,'infeasible')
        % Equalities are inconsistent, so X and lambda have no valid values
        % Return original X and zeros for lambda.
        ACTIND = indepInd(ACTIND);
        output.iterations = iterations;
        exitflag = -2;
        return
    end
    
    err = 0;
    if neqcstr >= numberOfVariables
        err = max(abs(A(eqix,:)*X-B(eqix)));
        if (err > 1e-8)  % Equalities not met
            how='infeasible';
            exitflag = -2;
            msg = sprintf(['Exiting: the equality constraints are overly stringent;\n' ...
                                  ' there is no feasible solution.']);
            if verbosity > 0 
                disp(msg)
            end
            % Equalities are inconsistent, X and lambda have no valid values
            % Return original X and zeros for lambda.
            ACTIND = indepInd(ACTIND);
            output.iterations = iterations;
            return
        else % Check inequalities
            if (max(A*X-B) > 1e-8)
                how = 'infeasible';
                exitflag = -2;
                msg = sprintf(['Exiting: the constraints or bounds are overly stringent;\n' ...
                                      ' there is no feasible solution. Equality constraints have been met.']);
                if verbosity > 0
                    disp(msg)
                end
            end
        end
        if is_qp
            actlambda = -R\(Q'*(H*X+f));
        elseif LLS
            actlambda = -R\(Q'*(H'*(H*X-f)));
        else
            actlambda = -R\(Q'*f);
        end
        lambda(indepInd(ACTIND)) = normf * (actlambda ./normA(ACTIND));
        ACTIND = indepInd(ACTIND);
        output.iterations = iterations;
        return
    end
    
    % Check whether in Phase 1 of feasibility point finding. 
    if (verbosity == -2)
        cstr = A*X-B; 
        mc=max(cstr(neqcstr+1:ncstr));
        if (mc > 0)
            X(numberOfVariables) = mc + 1;
        end
    end
else 
    if ACTCNT == 0 % initial working set is empty 
        Q = eye(numberOfVariables,numberOfVariables);
        R = [];
        Z = 1;
    else           % in Phase I and working set not empty
        [Q,R] = qr(ACTSET');
        Z = Q(:,ACTCNT+1:numberOfVariables);
    end   
end

% Find Initial Feasible Solution 
cstr = A*X-B;
if ncstr > neqcstr
    mc = max(cstr(neqcstr+1:ncstr));
else
    mc = 0;
end
if mc > eps
    quiet = -2;
    optionsPhase1 = []; % Use default options in phase 1
    ACTIND2 = 1:neqcstr;
    if ~phaseOneTotalScaling 
      A2=[[A;zeros(1,numberOfVariables)],[zeros(neqcstr,1);-ones(ncstr+1-neqcstr,1)]];
    else
      % Scale the slack variable as well
      A2 = [[A [zeros(neqcstr,1);-ones(ncstr-neqcstr,1)]./normA]; ...
            [zeros(1,numberOfVariables) -1]];
    end
    [XS,lambdaS,exitflagS,outputS,howS,ACTIND2] = ...
        qpsub([],[zeros(numberOfVariables,1);1],A2,[B;1e-5], ...
        [],[],[X;mc+1],neqcstr,quiet,Qpsub,size(A2,1),numberOfVariables+1, ...
        optionsPhase1,defaultopt,ACTIND2);
    slack = XS(numberOfVariables+1);
    X=XS(1:numberOfVariables);
    cstr=A*X-B;
    if slack > eps 
        if slack > 1e-8 
            how='infeasible';
            exitflag = -2;
            msg = sprintf(['Exiting: the constraints are overly stringent;\n' ...
                                  ' no feasible starting point found.']);
            if verbosity > 0
                disp(msg)
            end
        else
            how = 'overly constrained';
            exitflag = -2;
            msg = sprintf(['Exiting: the constraints are overly stringent;\n' ...
                                  ' initial feasible point found violates constraints\n' ...
                                  ' by more than eps.']);
            if verbosity > 0
                disp(msg)
            end
        end
        lambda(indepInd) = normf * (lambdaS((1:ncstr)')./normA);
        ACTIND = 1:neqcstr;
        ACTIND = indepInd(ACTIND);
        output.iterations = iterations;
        return
    else
        % Initialize active set info based on solution of Phase I.
        %      ACTIND = ACTIND2(find(ACTIND2<=ncstr));
        ACTIND = 1:neqcstr;
        ACTSET = A(ACTIND,:);
        ACTCNT = length(ACTIND);
        aix = zeros(ncstr,1);
        aix(ACTIND) = 1;
        if ACTCNT == 0
            Q = zeros(numberOfVariables,numberOfVariables);
            R = [];
            Z = 1;
        else
            [Q,R] = qr(ACTSET');

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3atv一区二区三区| 国产色一区二区| 国产成人综合网站| 亚洲成人动漫在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 欧美系列在线观看| 国产.欧美.日韩| 男男视频亚洲欧美| 亚洲乱码一区二区三区在线观看| 欧美大片一区二区三区| 91久久精品日日躁夜夜躁欧美| 久草在线在线精品观看| 亚洲专区一二三| 国产精品二三区| 久久久久国产精品免费免费搜索| 欧美乱妇20p| 色综合色综合色综合色综合色综合 | 久久精品国产亚洲a| 亚洲午夜一二三区视频| 国产精品久久久久久亚洲毛片| 精品国产亚洲在线| 欧美巨大另类极品videosbest | 奇米色一区二区| 午夜亚洲福利老司机| 亚洲日本va午夜在线影院| 久久精品视频一区二区三区| 欧美一区二区三区播放老司机| 欧美中文字幕一区二区三区亚洲| 成人免费精品视频| 粉嫩在线一区二区三区视频| 久久精品国产亚洲高清剧情介绍| 视频一区视频二区中文字幕| 亚洲一区二区三区小说| 亚洲精品乱码久久久久久久久 | 亚洲二区在线视频| 一区二区三区小说| 亚洲人亚洲人成电影网站色| 国产精品久久久久影院色老大| 久久精品在线观看| 久久久久成人黄色影片| 久久久99免费| 国产午夜精品美女毛片视频| 国产日韩欧美一区二区三区乱码| 久久综合久久综合九色| 精品sm捆绑视频| 国产亚洲成av人在线观看导航| 久久久av毛片精品| 日本一二三四高清不卡| 亚洲国产成人自拍| 中文字幕一区二区三区精华液 | 欧美成人精品3d动漫h| 日韩精品一区二区三区四区视频| 日韩欧美成人激情| 精品福利一二区| 久久精子c满五个校花| 国产精品丝袜91| 亚洲精品视频免费观看| 亚洲电影在线播放| 蜜臀av一区二区| 国产一区二区三区久久久| 国产精品一区二区三区网站| av电影在线不卡| 欧洲色大大久久| 欧美一区二区网站| 久久久久久久久久久久久久久99 | 欧美精选一区二区| 91精品国产综合久久久蜜臀图片| 精品国内片67194| 国产精品美女久久久久久久久久久| 综合激情成人伊人| 丝袜亚洲另类欧美综合| 精品一区免费av| 91影院在线免费观看| 欧美午夜理伦三级在线观看| 日韩一二三区不卡| 国产色婷婷亚洲99精品小说| 亚洲激情成人在线| 久久丁香综合五月国产三级网站 | 成人福利视频在线看| 欧美在线观看视频一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 精品少妇一区二区三区免费观看 | 国内成人精品2018免费看| 成人免费观看av| 欧美日韩国产区一| 精品少妇一区二区三区免费观看 | 亚洲免费观看高清完整| 免费人成精品欧美精品| av网站免费线看精品| 91精品国产麻豆国产自产在线| 久久精品日韩一区二区三区| 一区二区三区免费看视频| 国产原创一区二区| 欧美性色综合网| 国产精品视频免费| 另类小说色综合网站| 91亚洲精品久久久蜜桃| 26uuu亚洲综合色欧美| 亚洲精品免费电影| 国产v日产∨综合v精品视频| 欧美三级欧美一级| 国产精品久久久久久久久久久免费看 | 色噜噜狠狠成人网p站| 欧美不卡123| 亚洲va欧美va国产va天堂影院| 懂色av一区二区夜夜嗨| 日韩一区二区三区观看| 一区二区成人在线视频| 成人一区二区三区视频| 日韩欧美国产一区在线观看| 亚洲黄色小视频| av在线不卡网| 久久免费视频色| 蜜臀av性久久久久蜜臀aⅴ| 欧美性生活久久| 亚洲色图视频网| a在线播放不卡| 中文字幕av在线一区二区三区| 日韩avvvv在线播放| 精品视频123区在线观看| 亚洲免费观看高清完整版在线观看| 高清国产一区二区| 久久综合狠狠综合久久综合88 | 久久久综合精品| 狠狠v欧美v日韩v亚洲ⅴ| 91精品国产美女浴室洗澡无遮挡| 亚洲图片欧美色图| 欧美探花视频资源| 亚洲电影一区二区三区| 在线观看一区不卡| 一区二区三区在线看| 99国产精品99久久久久久| 91麻豆精品91久久久久久清纯| 日韩你懂的在线观看| 热久久免费视频| 在线观看视频一区二区欧美日韩| 国产欧美视频在线观看| 国产成人福利片| 日韩欧美中文字幕一区| 亚洲国产视频一区二区| 色噜噜狠狠成人网p站| 亚洲国产成人午夜在线一区| 国产毛片精品一区| 精品三级在线观看| 日本vs亚洲vs韩国一区三区二区| 欧美一级一区二区| 亚洲成人av在线电影| 欧美中文字幕一区二区三区| 亚洲免费av高清| 久久99久久99| 国产网站一区二区三区| 国产河南妇女毛片精品久久久| 日韩欧美亚洲另类制服综合在线| 亚洲一级在线观看| 欧美一区二区性放荡片| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩三级在线| 一区二区三区在线播| 69堂精品视频| 麻豆国产欧美日韩综合精品二区| 欧美片在线播放| 午夜精品一区二区三区三上悠亚| 欧美一区二区三区在线看| 青青草原综合久久大伊人精品优势| 欧美一区二区日韩| 天天操天天干天天综合网| 日韩欧美成人激情| 国产精品伊人色| 中文字幕在线不卡| 97国产精品videossex| 亚洲国产精品麻豆| 在线成人av网站| 久久精品二区亚洲w码| 精品视频全国免费看| 国产精一区二区三区| 中文字幕一区av| 欧美丝袜丝nylons| 天天综合色天天综合| 精品精品欲导航| 北岛玲一区二区三区四区| 夜夜夜精品看看| 国产视频一区二区在线| 91丨九色丨尤物| 五月婷婷久久丁香| 日韩欧美一区二区三区在线| 春色校园综合激情亚洲| 怡红院av一区二区三区| 欧美日韩三级视频| 丰满少妇在线播放bd日韩电影| 一区二区三区免费在线观看| 91精品一区二区三区在线观看| 国产一区二区福利| 日日摸夜夜添夜夜添精品视频 | 亚洲色图欧美偷拍| 91精品国产综合久久蜜臀| 91污在线观看| 老司机免费视频一区二区| 国产精品乱码人人做人人爱| 欧美日韩一区二区三区在线看| 国产做a爰片久久毛片|