當前位置: 首頁>>代碼示例>>Java>>正文


Java AbstractDoubleProblem類代碼示例

本文整理匯總了Java中org.uma.jmetal.problem.impl.AbstractDoubleProblem的典型用法代碼示例。如果您正苦於以下問題:Java AbstractDoubleProblem類的具體用法?Java AbstractDoubleProblem怎麽用?Java AbstractDoubleProblem使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


AbstractDoubleProblem類屬於org.uma.jmetal.problem.impl包,在下文中一共展示了AbstractDoubleProblem類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: shouldJMetalRandomGeneratorNotBeUsedWhenCustomRandomGeneratorProvided

import org.uma.jmetal.problem.impl.AbstractDoubleProblem; //導入依賴的package包/類
@Test
public void shouldJMetalRandomGeneratorNotBeUsedWhenCustomRandomGeneratorProvided() {
	// Configuration
	double crossoverProbability = 0.1;
	int alpha = 20;
	RepairDoubleSolutionAtBounds solutionRepair = new RepairDoubleSolutionAtBounds();
	@SuppressWarnings("serial")
	DoubleProblem problem = new AbstractDoubleProblem() {

		@Override
		public void evaluate(DoubleSolution solution) {
			// Do nothing
		}

	};
	List<DoubleSolution> solutions = new LinkedList<>();
	solutions.add(problem.createSolution());
	solutions.add(problem.createSolution());

	// Check configuration leads to use default generator by default
	final int[] defaultUses = { 0 };
	JMetalRandom defaultGenerator = JMetalRandom.getInstance();
	AuditableRandomGenerator auditor = new AuditableRandomGenerator(defaultGenerator.getRandomGenerator());
	defaultGenerator.setRandomGenerator(auditor);
	auditor.addListener((a) -> defaultUses[0]++);

	new SBXCrossover(crossoverProbability, alpha, solutionRepair).execute(solutions);
	assertTrue("No use of the default generator", defaultUses[0] > 0);

	// Test same configuration uses custom generator instead
	defaultUses[0] = 0;
	final int[] customUses = { 0 };
	new SBXCrossover(crossoverProbability, alpha, solutionRepair, () -> {
		customUses[0]++;
		return new Random().nextDouble();
	}).execute(solutions);
	assertTrue("Default random generator used", defaultUses[0] == 0);
	assertTrue("No use of the custom generator", customUses[0] > 0);
}
 
開發者ID:jMetal,項目名稱:jMetal,代碼行數:40,代碼來源:SBXCrossoverTest.java

示例2: shouldJMetalRandomGeneratorNotBeUsedWhenCustomRandomGeneratorProvided

import org.uma.jmetal.problem.impl.AbstractDoubleProblem; //導入依賴的package包/類
@Test
public void shouldJMetalRandomGeneratorNotBeUsedWhenCustomRandomGeneratorProvided() {
	// Configuration
	double crossoverProbability = 0.1;
	int alpha = 20;
	RepairDoubleSolutionAtBounds solutionRepair = new RepairDoubleSolutionAtBounds();
	@SuppressWarnings("serial")
	DoubleProblem problem = new AbstractDoubleProblem() {

		@Override
		public void evaluate(DoubleSolution solution) {
			// Do nothing
		}

	};
	List<DoubleSolution> solutions = new LinkedList<>();
	solutions.add(problem.createSolution());
	solutions.add(problem.createSolution());

	// Check configuration leads to use default generator by default
	final int[] defaultUses = { 0 };
	JMetalRandom defaultGenerator = JMetalRandom.getInstance();
	AuditableRandomGenerator auditor = new AuditableRandomGenerator(defaultGenerator.getRandomGenerator());
	defaultGenerator.setRandomGenerator(auditor);
	auditor.addListener((a) -> defaultUses[0]++);

	new BLXAlphaCrossover(crossoverProbability, alpha, solutionRepair).execute(solutions);
	assertTrue("No use of the default generator", defaultUses[0] > 0);

	// Test same configuration uses custom generator instead
	defaultUses[0] = 0;
	final int[] customUses = { 0 };
	new BLXAlphaCrossover(crossoverProbability, alpha, solutionRepair, () -> {
		customUses[0]++;
		return new Random().nextDouble();
	}).execute(solutions);
	assertTrue("Default random generator used", defaultUses[0] == 0);
	assertTrue("No use of the custom generator", customUses[0] > 0);
}
 
開發者ID:jMetal,項目名稱:jMetal,代碼行數:40,代碼來源:BLXAlphaCrossoverTest.java


注:本文中的org.uma.jmetal.problem.impl.AbstractDoubleProblem類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。