yes! it works! the GLPKSharp.dll is very useful for me ! thanks very much !
2009/5/29 yoyovicks <[email protected]> > > For loadmatrix the following should work: > > int[] ia = new int[10]; > int[] ja = new int[10]; > double[] ar = new double[10]; > > ia[1] = 1; ja[1] = 1; ar[1] = 1.0; /* a[1,1] = 1 */ > ia[2] = 1; ja[2] = 2; ar[2] = 1.0; /* a[1,2] = 1 */ > ia[3] = 1; ja[3] = 3; ar[3] = 1.0; /* a[1,3] = 1 */ > ia[4] = 2; ja[4] = 1; ar[4] = 10.0; /* a[2,1] = 10 */ > ia[5] = 3; ja[5] = 1; ar[5] = 2.0; /* a[3,1] = 2 */ > ia[6] = 2; ja[6] = 2; ar[6] = 4.0; /* a[2,2] = 4 */ > ia[7] = 3; ja[7] = 2; ar[7] = 2.0; /* a[3,2] = 2 */ > ia[8] = 2; ja[8] = 3; ar[8] = 5.0; /* a[2,3] = 5 */ > ia[9] = 3; ja[9] = 3; ar[9] = 6.0; /* a[3,3] = 6 */ > > LPProblem lp = new LPProblem(); > lp.AddCols(3); > lp.AddRows(3); > lp.LoadMatrix(ia, ja, ar); > lp.SetRowBounds(1, BOUNDSTYPE.Upper, 0, 100); > lp.SetRowBounds(2, BOUNDSTYPE.Upper, 0, 600); > lp.SetRowBounds(3, BOUNDSTYPE.Upper, 0, 300); > lp.SetObjCoef(1, 10); > lp.SetObjCoef(2, 6); > lp.SetObjCoef(3, 4); > lp.ObjectiveDirection = OptimisationDirection.MAXIMISE; > //par défaut, les bornes sont à 0. > lp.SetColBounds(1, BOUNDSTYPE.Lower, 0, 0); > lp.SetColBounds(2, BOUNDSTYPE.Lower, 0, 0); > lp.SetColBounds(3, BOUNDSTYPE.Lower, 0, 0); > //lp.WriteCPLEX("yo.lp"); > Console.Out.WriteLine(lp.SolveSimplex().ToString()); > Console.Out.WriteLine("tapez une touche."); > Console.In.Read(); > > About array size, yes it is shifted by one in glpk so I have to do it in C# > as well. > > Yo. > > > > > -- LEO
_______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
