الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عندي مشكلة في Array من نوع كلاس

بدأه computeach في 22 أبريل 2009 · 4 رد · 622 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يوجد لدي كلاس اسمها Generate_Schedule

وكلاس اخرى اسمها GA

و في كلاس GA يوجد متغير باسم

private Generate_Schedule solutions[];

وعرفت 3 متغيرات داخل method في كلاس GA كالنحوالتالي:

solutions=new Generate_Schedule[popSize];
Generate_Schedule Pest_Solution[]=new Generate_Schedule[popSize];
Generate_Schedule TMP[]=new Generate_Schedule[popSize];
Generate_Schedule  MUT=new Generate_Schedule();

المشكلة هنا عند تنفيذ هذه statment:

solutions=MUT;

جميع عناصر array solution and array best_solution

تتغير قيمتها وتصبح تساوي قيمة MUT بالرغم من عدم وجود مساواه مباشرة بين best_solution & MUT

وكذلك تتكرر نفس المشكلة هذه statment

solutions=TMP;

جميع عناصر array solution and array best_solution

تتغير قيمتها وتصبح تساوي قيمة TMP بالرغم من عدم وجود مساواه مباشرة بين best_solution & TMP

ارجو مساعدتي عندي مشروع يجب تسليمه ومش عارفه احل المشكلة هذه

#2

ارجو توضيح اكثر

#3

ضع الكود كاملاً

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4

هذا الكود وارجو توضيح وين المشكلة بالضبط

 

public class GA extends JFrame {


	InputData data=new InputData();
	   Generate_Schedule solutions[];
	  Fitness f=new Fitness();
	   String[] columnNames;
	   Object[][] Items;
		int processorNo,popSize;

public GA( InputData d) {


		  initComponents();

//input data decleration data in peivate class 
						// InputData data=new InputData();
						// in clas  GA


		  data=d;  

		}

  public void iteration()
	{
		 Generate_Schedule Pest_Solution[]=new Generate_Schedule[popSize];
		 Generate_Schedule TMP[]=new Generate_Schedule[popSize];
		 Generate_Schedule  MUT=new Generate_Schedule();
		 Random rand=new Random();
		 Reproduction R=new Reproduction();
		 Mutaion M=new Mutaion();
		 Crossover C;


		  int indexTMP,par1,par2,indexFT,indexRow=0,indexLOOP;
		  int halfPopSize= popSize/2;

			 //GA
	   for (indexLOOP=0;indexLOOP<data.getmax_Iteration();indexLOOP++)
	   {
				//perfome reproduction
			 Pest_Solution=R.Reproduct(popSize, solutions);


			 //****************************************************************
			 //perfome cross

			indexTMP=0;

			  for (int k=0;k<halfPopSize;k++)
			 {
				  //select 2 random 

			   par1=rand.nextInt(Pest_Solution.length);
			   par2=rand.nextInt(Pest_Solution.length);
				C=new Crossover(Pest_Solution[par1],Pest_Solution[par2]);
				  if ( rand.nextDouble() <= data.getCoross_Prob())
				 {
					 if ( C.CrossoverOperation(processorNo))
					 {
						 TMP[indexTMP]=C.getChild1();
						 indexTMP++;
						 TMP[indexTMP]=C.getChild2();
					   indexTMP++;
					 }
					 else
					 {
						  TMP[indexTMP]=Pest_Solution[par1];
						  indexTMP++;
						  TMP[indexTMP]=Pest_Solution[par2];
						   indexTMP++;
					 }

				 }
				 else
				 {
					 TMP[indexTMP]=Pest_Solution[par1];
					 indexTMP++;
					 TMP[indexTMP]=Pest_Solution[par2];
					   indexTMP++;
				 }

			  }//end for cross

			//****************************************************************
			//perfome mutation

	 for ( int i=0;i< indexTMP;i++)
			 {
				 double R_M=rand.nextDouble();


				 if ( R_M <= data.getMutation_Prob())
				  {
					  // send TMP into class mutation
					 MUT=M.Mutate(data.getN_Tasks(),data.getN_Processor(),TMP);
					 //compute fitness to MUT
					f.fitness_Calc(MUT,data.getN_Tasks(),processorNo);
					//swap return from mutation and the Solution
				   solutions= MUT;
				  }
				  else
				  {
					  //swap TMP and Solution
						f.fitness_Calc(TMP,data.getN_Tasks(),processorNo);
						solutions=TMP;
					}
			 }

				 indexFT=searchSmallestFitness(solutions);
				 int Index_Best_String=searchBestString(Pest_Solution);
				 solutions[indexFT]=Pest_Solution[Index_Best_String];


	   }// end for iteration

} // end class
#5

كامل البرنامج

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة