我想问是否可以创建一个使用 PHP 遗传算法的自动时间表系统?
我正在考虑使用 YiiFramework 但我担心我不能使用 GA 来实现系统。
我使用 PHP 的原因是因为我更喜欢 PHP。我已经在 JAVA 中完成了它,但对 JAVA 并不满意。现在我正在考虑将其转移到 PHP。
请帮我。提前谢谢。!
我想问是否可以创建一个使用 PHP 遗传算法的自动时间表系统?
我正在考虑使用 YiiFramework 但我担心我不能使用 GA 来实现系统。
我使用 PHP 的原因是因为我更喜欢 PHP。我已经在 JAVA 中完成了它,但对 JAVA 并不满意。现在我正在考虑将其转移到 PHP。
请帮我。提前谢谢。!
尽管从技术上讲,正如阿拉丁已经回答的那样,我强烈建议您不要为此使用 PHP/Yii。Yii 和 PHP 都不是为这类工作而设计的。Yii 确实是一个很棒的框架,但它不会真正帮助您进行 GA 编程。PHP 用途广泛且速度快,非常适合编写脚本等。但它并非设计用于将运行多代且运行时性能是一个重要因素的 GA 情况。您应该考虑使用 C++ 或类似的执行语言。
您提到时间是运行时间和开发时间的约束。我建议您使用现有的 python/C++ 库来进行 GA 算法并快速实现相同的
Python 库: http: //pyevolve.sourceforge.net/来源:https ://github.com/perone/Pyevolve
C++ 库: http: //lancet.mit.edu/ga/
如果算法的性能非常重要,那么 C++ 是显而易见的选择。如果演示和灵活性,然后使用 Python 的,我个人更喜欢。
但是,如果您仍想使用 Yii/PHP,我建议您编译这些程序并在 Yii 的控制台应用程序/命令中调用它们,然后使用 Yii 处理参数存储并显示输出。
是的你可以。我从您的问题中得知,您将自己编写算法代码,因此,您当然可以使用 PHP 和 yii 而不是 java。
我可以看到的另一件事是,您选择使用网络来使教师和其他演员能够将他们的最爱提交到您的数据库,以便您可以收集您的软约束。这就是 Yiiframework 非常方便和容易的地方。
旁注:你为什么不考虑结合本地搜索算法(例如禁忌搜索)和约束规划。如果您愿意,我可以更多地谈论这种方法。