Ejemplo n.º 1
0
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);    
  }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        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);
        }