主要是现在解法趋同,尝试着换种思路。
1. 数据变化的稳定性。其实船最小,一共就两个座位五种可能:一商、一仆、一商一仆、两商和两仆,唯一剩下左右岸的商仆上船问题。
2. 数据量的选择。考虑借鉴进化算法里种群的概念,随机产生一批初始值(包括非法解,5修正成可行解),类似走迷宫,想法就是一大批人进去,最后总有先出来的,一旦出来,算法结束。
3. 编码。整数或二进制应该都可以,结果就是左岸商仆从33变成00。
4. 约束处理。只考查商仆数目约束;对相同商仆的来回认为也是可行解,因为它只单纯增加船行次数。
5. 可行解问题。因为商仆数目强约束,所以初值和过程中都会产生非法解,借鉴并改造进化算法里的变异步骤,反正结果能将非法解变成可行解就行。
[
本帖最后由 ditg 于 2014-10-10 00:13 编辑 ]