Java遗传算法解决0-1背包问题

Posted

技术标签:

【中文标题】Java遗传算法解决0-1背包问题【英文标题】:Java Genetic Algorithm to Solve the 0-1 Knapsack 【发布时间】:2014-08-07 12:56:36 【问题描述】:

您好,我需要编写遗传算法来解决背包问题。问题的概要可以在wikipedia上找到,抱歉没有提供链接,我目前只能发布2个链接。

我已经能够完全理解和实现一个基本的二进制 GA,可以在以下位置找到:

https://github.com/DraosT/GA/tree/master/GA2/src

现在我已经编写了那个基本框架,我不知道如何使它适应手头的问题。您可以提供的任何伪代码或 Java 代码肯定有助于满足我对这个主题的好奇心,并希望让我更快地完成这项任务。

我尝试编辑代码来解决问题

https://github.com/DraosT/GA.git

但还是不行,不知道是什么原因

*Edit - 用几个不同的“修复”更新了代码,但仍然无法正常工作。如果有人能帮我找出错误,我仍然会感激不尽。

【问题讨论】:

不。无意冒犯,但这会让你无处可去。本网站无意发布家庭作业和类似内容的完整解决方案。我们喜欢帮助解决特定问题,例如如果您在实际尝试时遇到困难 :-) Sooooo:您尝试过什么?你遇到了什么错误? 很抱歉,如果它以这种方式出现,但我从未打算从这篇文章中得到完整的答案。我的计划是为背包创建一个大小变量,比如说它是 2000,以及代表不同物体大小的整数数组,那么适应度就是个人能够填充 2000 的多少,然后我想这样做的好方法是如果 25 代左右没有变化,则取消。想法?再次抱歉,我应该更具体地回答我的问题。再读一遍,好像我只是在直截了当地问答案。 好的,我做了一些测试代码,你介意看看。它不起作用,我不明白为什么。 github.com/DraosT/GA2 感谢您更新您的问题! :) 您是否查看过 SO 在您的问题的侧栏中生成的相关问题? 【参考方案1】:

你编写的程序并不比你聪明。不要假设即使您不尝试,其他人也会帮助您。例如,我假设你用谷歌搜索了这个问题并试图找出你的程序失败的原因,但还不够仔细。

再试一次,看看能不能找到:http://rosettacode.org/wiki/Knapsack_problem/0-1

【讨论】:

以上是关于Java遗传算法解决0-1背包问题的主要内容,如果未能解决你的问题,请参考以下文章

Python:用遗传算法解决背包优化问题?

背包问题基于matlab遗传算法结合贪婪算法求解背包问题含Matlab源码 791期

多背包问题的改进遗传算法

背包问题基于遗传算法求解多背包问题matlab源码

背包问题基于遗传算法求解多背包问题matlab源码

背包问题基于遗传算法求解多背包问题matlab源码