发明名称 Method for solving linear programs
摘要 The invention provides for a computer-implemented method for solving a linear program (LP), the method comprising the steps of: receiving (100) the linear program;determining (101) a kernel K and determining a kernel matrix G of the kernel K, wherein the kernel matrix is a non-singular submatrix of the original matrix;determining (102) a set of non-basic variable indices and a set of extra constraint indices;computing (103) a primal kernel vector (xK) from the determined kernel;computing (104) a dual kernel vector (yK) from the determined kernel; andevaluating (105) the feasibility of the primal kernel vector and of the dual kernel vector.
申请公布号 US9536203(B2) 申请公布日期 2017.01.03
申请号 US201514857773 申请日期 2015.09.17
申请人 International Business Machines Corporation 发明人 Wunderling Roland
分类号 G06F7/38;G06N7/00;G06F17/16 主分类号 G06F7/38
代理机构 CRGO Law 代理人 Greenberg, Esq. Steven M.;CRGO Law
主权项 1. A non-volatile storage medium with computer-interpretable instructions for reducing an amount of memory space required for a kernel matrix, the computer-interpretable instructions when executed causes a processor of a processing device to: reduce an amount of memory space required for variables of a linear program (LP) on the processing device with limited memory upon receiving a linear program, a canonical form of the linear program being: minimize cTx; subject to Ax≧b; x≧0, whereby x represents the vector of variables to be determined, b in Rm and c in Rm respectively represent a vector of given coefficients and original matrix (A) represents a matrix of given coefficients; determine a kernel K and determining a kernel matrix G of the kernel K, wherein the kernel K=(D, B), wherein the kernel matrix G is calculated as G=ADB, wherein B is a set of basis variable indices, D is a set of defining constraint indices such that D⊂{1, . . . , m}, B⊂{1, . . . , n}, |D|=|B|, and the kernel matrix is a non-singular submatrix of the original matrix; determine a set of non-basic variable indices N and a set of extra constraint indices E, wherein N={1, . . . , n}/B and E={1, . . . ,m }/D; compute a primal kernel vector (xK) from the determined kernel such that GxEK=bD, xNK=0; compute a dual kernel vector (yK) from the determined kernel such that yEK=0, (yDK)TG=cBT; evaluate the feasibility of the primal kernel vector and of the dual kernel vector; execute, in response to a case when the primal kernel vector is feasible and the dual kernel vector is infeasible, a modified primal simplex algorithm wherein the kernel and the kernel matrix are updated to increase feasibility of the dual kernel vector in one or more modified simplex iterations until the dual kernel vector is also feasible or a first termination condition is reached; execute, in response to a case when the primal kernel vector is infeasible and the dual kernel vector is feasible, a modified dual simplex algorithm wherein the kernel and the kernel matrix are updated to increase feasibility of the primal kernel vector in one or more modified simplex iterations until the primal kernel vector is also feasible or until a second termination condition is reached; and, return, in response to a case when the primal and the dual kernel vectors are feasible as a result of executing the modified primal or dual simplex algorithm, the primal kernel vector (xK) as the vector of variables x to be determined.
地址 Armonk NY US