⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tokarmarker.m

📁 Mathematical Methods by Moor n Stiling.
💻 M
字号:
function [Anew,cnew] = tokarmarker(A,b,c)
% 
% Given a linear programming problem in standard form
%  min       c'x
% subject to Ax = b,  x >= 0
%
% return new values of A and c in "Karmarker standard form"
%  min       c'x
% subject to Ax=0,  sum(x)=n, x >= 0
%
% function [Anew,cnew] = tokarmarker(A,b,c)
%
% (A,b,c) = matrices in standard form
%
% Anew, cnew = matrices in Karmarker standard form

% Copyright 1999 by Todd K. Moon

A = [A;-A];
b = [b;-b];
[m,n] = size(A);
x0 = ones(n,1);  y0 = ones(m,1);  u0 = ones(m,1);   v0 = ones(n,1);

% Incorporate dual variables and slack variables
Anew = [A          zeros(m,m)  -eye(m,m)   zeros(m,n) (b - A*x0 + y0)
      zeros(n,n) A'          zeros(n,m)  eye(n,n)   (c - A'*u0 - v0)
    c'         -b'         zeros(1,m)  zeros(1,n) (-c'*x0 + b'*u0)];
cnew = [zeros(2*(m+n),1); 1];
bnew = [b;c;0];

% Now the projective transformation
Anew = [Anew -bnew];
cnew = [cnew;0];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -