コード例 #1
0
        private static void TestPMedWrapper_Large()
        {
            //risolviamo il Pmed1.txt in large!!! 10.000

            PMed3 pmed3;
            uint  nsol = 2;

            try
            {
                pmed3 = new PMed3(Console.Write, nsol, "TestWrap", false, false);
            }
            catch (Exception e)
            {
                Console.WriteLine("exception: {0}", e.Message);
                Console.WriteLine("{0}", Directory.GetCurrentDirectory());
                return;
            }
//#if DEBUG
            int m = 0;

            if (!pmed3.Load(@"..\..\..\pmed1.txt", ref m))
            {
                Console.WriteLine("ERROR LOAD FILE!!!");
                return;
            }

            pmed3.ComputeSolutions(false, false);
            //pmed3.InitProblem();
//#endif

            //pmed3.InitProblem();
            //pmed3.BuildSolutionFromWrapper();

            Console.ReadKey();
            pmed3.ShowWrapperSolution(Console.Write);
            pmed3.CheckWrapperClusterSolution();
        }
コード例 #2
0
        private static void TestWrapperCapacitated()
        {
            PMed3 pmed3;
            uint  nsol = 1;
            int   m    = 1;


            try
            {
                pmed3 = new PMed3(Console.Write, nsol, "TestWrap", false, false);
            }
            catch (Exception e)
            {
                Console.WriteLine("exception: {0}", e.Message);
                Console.WriteLine("{0}", Directory.GetCurrentDirectory());
                return;
            }


            if (!pmed3.Load(@"..\..\..\pmedcap1.txt", ref m, false))
            {
                Console.WriteLine("ERROR LOAD FILE!!!");
                return;
            }

            pmed3.ComputeSolutions(false, false);
            //pmed3.InitProblem();
            //#endif

            //pmed3.InitProblem();
            //pmed3.BuildSolutionFromWrapper();

            //Console.ReadKey();
            pmed3.ShowWrapperSolution(Console.Write);
            pmed3.CheckWrapperClusterSolution();
        }
コード例 #3
0
        private static void TestPMedWrapper3CCS()
        {
            //Problema da testare :
            //ora proviamo con costo cluster...

            //Sol0 = {4,2} ; {1,0,3}
            //Sol1 = {3,1} ; {4,2,0}

            //C(Sol0) = {0,16}=16 ; {0,15,40}=55  = 71
            //C(Sol1) = {0,40}=40 ; {0,16,24}=40  = 80

            //min z = 16*S0c0 + 55*S0c1+ 40*s1c0 + 40*s1c1
            //s.t.

            //    s0c0	s0c1	s1c0	s1c1
            //z	 16		55		40		40

            //0	 0		1		0		1
            //1	 0		1		1		0
            //2	 1		0		0		1
            //3	 0		1		1		0
            //4	 1		0		0		1

            PMed3 pmed3;
            uint  nsol = 2;

            try
            {
                pmed3 = new PMed3(Console.Write, nsol, "TestWrap", true, false);
            }
            catch (Exception e)
            {
                Console.WriteLine("exception: {0}", e.Message);
                Console.WriteLine("{0}", Directory.GetCurrentDirectory());
                return;
            }
#if DEBUG
            //if (!pmed3.LoadTest(@"\\polocesena\polocesena\UtentiScienze\STUDENTI\raffaello.bertini\Desktop\AAA\Problems\pmedtest_verysmall.txt"))
            if (!pmed3.LoadTest(@"..\..\..\pmedtest_verysmall.txt"))
            {
                Console.WriteLine("ERROR LOAD FILE!!!");
                return;
            }

            pmed3.ComputeSolutions(false, false);
            //pmed3.InitProblem();
#endif

            //ora modifico le soluzioni a piacimento...
            pmed3.SolutionsClusters[0][0].Clear();
            pmed3.SolutionsClusters[0][0].Add(4);
            pmed3.SolutionsClusters[0][0].Add(2);

            pmed3.SolutionsClusters[0][1].Clear();
            pmed3.SolutionsClusters[0][1].Add(1);
            pmed3.SolutionsClusters[0][1].Add(0);
            pmed3.SolutionsClusters[0][1].Add(3);

            pmed3.SolutionsClusters[1][0].Clear();
            pmed3.SolutionsClusters[1][0].Add(3);
            pmed3.SolutionsClusters[1][0].Add(1);

            pmed3.SolutionsClusters[1][1].Clear();
            pmed3.SolutionsClusters[1][1].Add(4);
            pmed3.SolutionsClusters[1][1].Add(2);
            pmed3.SolutionsClusters[1][1].Add(0);

            //da rendere publici per testare...
            //pmed3.InitProblem();
            //pmed3.BuildSolutionFromWrapper();

            pmed3.ShowWrapperSolution(Console.Write);

            //double obj = w.getObjectValue(prob);
            //double[] solvars = new double[4]; //Vettore deputato a contenere i valori della soluzione
            //w.getSolutionValues(prob, solvars, null, null, null);
            //for (int i = 0; i < solvars.Length; i++)
            //    Console.WriteLine("{0} solvar {1}", solvars[i], i);
            //Console.WriteLine("VALORE OTTIMO TROVATO :  {0} ", obj);
        }
コード例 #4
0
 private void showWrapperSolutionToolStripMenuItem_Click(object sender, EventArgs e)
 {
     pm.ShowWrapperSolution(ConsoleAppendText);
 }