static public void put_a(mosek.Task task, double[][] aval, int[][] asub, int[] ptrb, int[] ptre, int numvar, int[] basis ) { // Since the value infinity is never used, we define // 'infinity' symbolic purposes only double infinity = 0; mosek.stakey[] skx = new mosek.stakey [numvar]; mosek.stakey[] skc = new mosek.stakey [numvar]; for (int i=0;i<numvar ;++i) { skx[i] = mosek.stakey.bas; skc[i] = mosek.stakey.fix; } task.appendvars(numvar); task.appendcons(numvar); for (int i=0;i<numvar ;++i) task.putacol(i, asub[i], aval[i]); for (int i=0 ; i<numvar ;++i) task.putconbound( i, mosek.boundkey.fx, 0.0, 0.0); for (int i=0 ; i<numvar ;++i) task.putvarbound( i, mosek.boundkey.fr, -infinity, infinity); //task.makesolutionstatusunknown(mosek.soltype.bas); /* Define a basic solution by specifying status keys for variables & constraints. */ for (int i=0 ; i<numvar ;++i) task.putsolutioni ( mosek.accmode.var, i, mosek.soltype.bas, skx[i], 0.0, 0.0, 0.0, 0.0); for (int i=0 ; i<numvar ;++i) task.putsolutioni ( mosek.accmode.con, i, mosek.soltype.bas, skc[i], 0.0, 0.0, 0.0, 0.0); task.initbasissolve(basis); }
static public void put_a(mosek.Task task, double[][] aval, int[][] asub, int[] ptrb, int[] ptre, int numvar, int[] basis ) { // Since the value infinity is never used, we define // 'infinity' symbolic purposes only double infinity = 0; mosek.stakey[] skx = new mosek.stakey [numvar]; mosek.stakey[] skc = new mosek.stakey [numvar]; for (int i = 0; i < numvar; ++i) { skx[i] = mosek.stakey.bas; skc[i] = mosek.stakey.fix; } task.append(mosek.accmode.var, numvar); task.append(mosek.accmode.con, numvar); for (int i = 0; i < numvar; ++i) { task.putavec(mosek.accmode.var, i, asub[i], aval[i]); } for (int i = 0; i < numvar; ++i) { task.putbound(mosek.accmode.con, i, mosek.boundkey.fx, 0.0, 0.0); } for (int i = 0; i < numvar; ++i) { task.putbound(mosek.accmode.var, i, mosek.boundkey.fr, -infinity, infinity); } task.makesolutionstatusunknown(mosek.soltype.bas); /* Define a basic solution by specifying * status keys for variables & constraints. */ for (int i = 0; i < numvar; ++i) { task.putsolutioni( mosek.accmode.var, i, mosek.soltype.bas, skx[i], 0.0, 0.0, 0.0, 0.0); } for (int i = 0; i < numvar; ++i) { task.putsolutioni( mosek.accmode.con, i, mosek.soltype.bas, skc[i], 0.0, 0.0, 0.0, 0.0); } task.initbasissolve(basis); }
static public void setup(mosek.Task task, double[][] aval, int[][] asub, int[] ptrb, int[] ptre, int numvar, int[] basis ) { // Since the value infinity is never used, we define // 'infinity' symbolic purposes only double infinity = 0; mosek.stakey[] skx = new mosek.stakey [numvar]; mosek.stakey[] skc = new mosek.stakey [numvar]; for (int i = 0; i < numvar; ++i) { skx[i] = mosek.stakey.bas; skc[i] = mosek.stakey.fix; } task.appendvars(numvar); task.appendcons(numvar); for (int i = 0; i < numvar; ++i) { task.putacol(i, asub[i], aval[i]); } for (int i = 0; i < numvar; ++i) { task.putconbound( i, mosek.boundkey.fx, 0.0, 0.0); } for (int i = 0; i < numvar; ++i) { task.putvarbound( i, mosek.boundkey.fr, -infinity, infinity); } /* Define a basic solution by specifying * status keys for variables & constraints. */ task.deletesolution(mosek.soltype.bas); task.putskcslice(mosek.soltype.bas, 0, numvar, skc); task.putskxslice(mosek.soltype.bas, 0, numvar, skx); task.initbasissolve(basis); }