Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-930

SimplexSolver finds suboptimal solution or throws NoFeasibleSolutionException

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.2
    • Labels:
      None

      Description

      When I run this code sometimes I get NoFeasibleSolutionException, and sometimes the result is 0.37522987682323883.

      Octave gives result 0.70679 and a point = {1.59032, 1.00000, 0.70679, 0.40399, 1.04004, 0.67396, 0.37868, 0.22823, 0.98909, 0.68793, 0.17021,
      0.09192, 0.67501, 0.44573, 0.07829, 0.00000, 0.81316, 0.63520, 0.55634
      0.40399, 0.48504, 0.45944, 0.22823, 0.22823, 0.34873, 0.32313, 0.09192,
      0.09192, 0.25681, 0.23122, 0.00000, 0.00000, 1.59032

      double[][] coefficients = new double[97][];
      double[] value = new double[97];
      Relationship[] relationship = new Relationship[97];
      int i = 0;
      double[] m0 =

      {1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 0}

      ;
      coefficients[i] = m0;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m1 =

      {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1};
      coefficients[i] = m1;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m2 = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1}

      ;
      coefficients[i] = m2;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m3 =

      {0, 1, 0, -1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, 0, -1, 0, -1, 0, 1, 0, 1, 0, -1, 0, 1, 0, -1, 0, -1, 0, 1, 0}

      ;
      coefficients[i] = m3;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m4 =

      {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.628803}

      ;
      coefficients[i] = m4;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m5 =

      {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.676993}

      ;
      coefficients[i] = m5;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m6 =

      {0, 0, 1, -1, 0, 0, -1, 1, 0, 0, -1, 1, 0, 0, 1, -1, 0, 0, -1, 1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, -1, 1, 0}

      ;
      coefficients[i] = m6;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m7 =

      {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.136677}

      ;
      coefficients[i] = m7;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m8 =

      {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.444434}

      ;
      coefficients[i] = m8;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m9 =

      {0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, -1, 0}

      ;
      coefficients[i] = m9;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m10 =

      {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.254028}

      ;
      coefficients[i] = m10;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m11 =

      {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.302218}

      ;
      coefficients[i] = m11;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m12 =

      {0, 0, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, -1, 1, 1, -1, 0, 0, 0, 0, -1, 1, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 0}

      ;
      coefficients[i] = m12;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m13 =

      {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.653981}

      ;
      coefficients[i] = m13;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m14 =

      {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.690437}

      ;
      coefficients[i] = m14;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m15 =

      {0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 1, 0, -1, 0}

      ;
      coefficients[i] = m15;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m16 =

      {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.423786}

      ;
      coefficients[i] = m16;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m17 =

      {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.486717}

      ;
      coefficients[i] = m17;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m18 =

      {0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0}

      ;
      coefficients[i] = m18;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m19 =

      {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.049232}

      ;
      coefficients[i] = m19;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m20 =

      {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.304747}

      ;
      coefficients[i] = m20;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m21 =

      {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0}

      ;
      coefficients[i] = m21;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m22 =

      {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.129826}

      ;
      coefficients[i] = m22;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m23 =

      {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.205625}

      ;
      coefficients[i] = m23;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m24 =

      {0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, -1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 1, -1, 1, -1, -1, 1, 0}

      ;
      coefficients[i] = m24;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m25 =

      {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.621944}

      ;
      coefficients[i] = m25;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m26 =

      {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.764385}

      ;
      coefficients[i] = m26;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m27 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, -1, 0}

      ;
      coefficients[i] = m27;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m28 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.432572}

      ;
      coefficients[i] = m28;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m29 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.480762}

      ;
      coefficients[i] = m29;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m30 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 1, -1, 0}

      ;
      coefficients[i] = m30;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m31 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.055983}

      ;
      coefficients[i] = m31;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m32 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.11378}

      ;
      coefficients[i] = m32;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m33 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0}

      ;
      coefficients[i] = m33;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m34 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.009607}

      ;
      coefficients[i] = m34;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m35 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.057797}

      ;
      coefficients[i] = m35;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m36 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 1, -1, 0}

      ;
      coefficients[i] = m36;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m37 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.407308}

      ;
      coefficients[i] = m37;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m38 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.452749}

      ;
      coefficients[i] = m38;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m39 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0}

      ;
      coefficients[i] = m39;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m40 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.269677}

      ;
      coefficients[i] = m40;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m41 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.321806}

      ;
      coefficients[i] = m41;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m42 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0}

      ;
      coefficients[i] = m42;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m43 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.049232}

      ;
      coefficients[i] = m43;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m44 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.06902}

      ;
      coefficients[i] = m44;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m45 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0}

      ;
      coefficients[i] = m45;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m46 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0}

      ;
      coefficients[i] = m46;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m47 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.028754}

      ;
      coefficients[i] = m47;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m48 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 0}

      ;
      coefficients[i] = m48;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m49 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.484254}

      ;
      coefficients[i] = m49;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m50 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.524607}

      ;
      coefficients[i] = m50;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m51 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, 0, -1, 0}

      ;
      coefficients[i] = m51;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m52 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.385492}

      ;
      coefficients[i] = m52;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m53 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.430134}

      ;
      coefficients[i] = m53;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m54 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 1, 0, 0, -1, 1, 0, 0, 1, -1, 0}

      ;
      coefficients[i] = m54;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m55 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34983}

      ;
      coefficients[i] = m55;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m56 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.375781}

      ;
      coefficients[i] = m56;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m57 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1, 0}

      ;
      coefficients[i] = m57;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m58 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.254028}

      ;
      coefficients[i] = m58;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m59 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.281308}

      ;
      coefficients[i] = m59;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m60 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, -1, 1, 1, -1, 0}

      ;
      coefficients[i] = m60;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m61 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.304995}

      ;
      coefficients[i] = m61;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m62 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.345347}

      ;
      coefficients[i] = m62;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m63 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 1, 0}

      ;
      coefficients[i] = m63;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m64 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.288899}

      ;
      coefficients[i] = m64;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m65 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.332212}

      ;
      coefficients[i] = m65;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m66 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, -1, 1, 0}

      ;
      coefficients[i] = m66;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m67 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.14351}

      ;
      coefficients[i] = m67;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m68 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.17057}

      ;
      coefficients[i] = m68;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m69 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0}

      ;
      coefficients[i] = m69;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m70 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -0.129826}

      ;
      coefficients[i] = m70;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m71 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -0.157435}

      ;
      coefficients[i] = m71;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m72 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, -1, 1, 1, -1, 0}

      ;
      coefficients[i] = m72;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m73 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -0}

      ;
      coefficients[i] = m73;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m74 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1}

      ;
      coefficients[i] = m74;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m75 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, -1, 0, 1, 0}

      ;
      coefficients[i] = m75;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m76 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0.141071}

      ;
      coefficients[i] = m76;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m77 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0.232574}

      ;
      coefficients[i] = m77;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m78 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 1, 0}

      ;
      coefficients[i] = m78;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m79 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -0}

      ;
      coefficients[i] = m79;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m80 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1}

      ;
      coefficients[i] = m80;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m81 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0}

      ;
      coefficients[i] = m81;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m82 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0.009607}

      ;
      coefficients[i] = m82;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m83 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0.057797}

      ;
      coefficients[i] = m83;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m84 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 1, 0}

      ;
      coefficients[i] = m84;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m85 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -0}

      ;
      coefficients[i] = m85;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m86 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1}

      ;
      coefficients[i] = m86;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m87 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0}

      ;
      coefficients[i] = m87;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m88 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -0.091644}

      ;
      coefficients[i] = m88;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m89 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -0.203531}

      ;
      coefficients[i] = m89;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m90 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0}

      ;
      coefficients[i] = m90;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m91 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -0}

      ;
      coefficients[i] = m91;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m92 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1}

      ;
      coefficients[i] = m92;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m93 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0};
      coefficients[i] = m93;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m94 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}

      ;
      coefficients[i] = m94;
      relationship[i] = Relationship.GEQ;
      value[i] = 0.0;
      i++;
      double[] m95 =

      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -0.028754}

      ;
      coefficients[i] = m95;
      relationship[i] = Relationship.LEQ;
      value[i] = 0.0;
      i++;
      double[] m96 =

      {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

      ;
      coefficients[i] = m96;
      relationship[i] = Relationship.EQ;
      value[i] = 1.0;

      ArrayList<LinearConstraint> constraints = new ArrayList<>(97);
      for (int j = 0; j < 97; j++)

      { constraints.add(new LinearConstraint(coefficients[j], relationship[j], value[j])); }

      double[] fooc = new double[33];
      fooc[3] = 1;
      LinearObjectiveFunction foo = new LinearObjectiveFunction(fooc, 0);
      SimplexSolver solver = new SimplexSolver();
      LinearConstraintSet se = new LinearConstraintSet(constraints);
      PointValuePair res = solver.optimize(MaxIter.unlimited(), foo, se, new NonNegativeConstraint(true));

        Attachments

        1. test.m
          17 kB
          Konstantin
        2. program.7z
          17 kB
          Konstantin
        3. exception.txt
          0.8 kB
          Konstantin

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                konstantin.fro Konstantin
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: