📄 tourstatepicker.java
字号:
/**
* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -