tourstatepicker.java
来自「pso源程序」· Java 代码 · 共 53 行
JAVA
53 行
/**
* Description: For two encoded states (A, B), updating A based on the B
*
* @ Author Create/Modi Note
* Xiaofeng Xie Apr 28, 2006 MAOS-TSP Beta 1.1.002
*
* @version 1.0
*/
package maosKernel.behavior.pick;
import Global.methods.*;
import maosKernel.memory.*;
import maosKernel.represent.landscape.*;
import Global.basic.nodes.utilities.*;
public class TourStatePicker extends AbsStatePicker {
private boolean isBetter = true;
private int taoB = 1;
private IEncodedDataEvaluateEngine evaluateEngine;
public TourStatePicker(){}
protected void setRootInfo(AbsLandscape landscape) {
evaluateEngine = landscape;
}
public void initUtilities() {
super.initUtilities();
initUtility(new BooleanUtility("isBetter", isBetter));
initUtility(new IntegerUtility("taoB", taoB));
}
public void shortcutInit() throws Exception {
super.shortcutInit();
isBetter = TypeConverter.toBoolean(getValue("isBetter"));
taoB = TypeConverter.toInteger(getValue("taoB"));
}
public EncodedState pickBehavior(IGetRandEnocdeStateEngine msState) {
if (evaluateEngine==null ||taoB<2) return msState.getRandomPoint();
EncodedState selState, baseState = msState.getRandomPoint();
for (int i=1; i<taoB; i++) {
selState = msState.getRandomPoint();
if (isBetter==EncodedStateHandler.evaluate(evaluateEngine, selState, baseState)) {
baseState = selState;
}
}
return baseState;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?