Esempio n. 1
0
 private static void RunPcm(PCMSolution PCM, ref int finalIterationsCounter)
 {
     int pcmIterationsCounter = 0;
     double oldPCMTarget = double.PositiveInfinity;
     // start PCM iterations
     while ((oldPCMTarget > PCM.Target) || (pcmIterationsCounter < 2))
     {
         oldPCMTarget = PCM.Target;
         if (pcmIterationsCounter != 0)
             PCM.setD();
         PCM.UpdatePrimaryMemberships();
         PCM.UpdateClusterPrototypes();
         PCM.setTarget();
         pcmIterationsCounter++;
         finalIterationsCounter++;
         Application.DoEvents();
     }
 }