本文依然参考《MATLAB智能算法30个案例分析》一书,文末的源代码也来自本书
上周有小伙伴后台问小编能否讲解一下关于多目标优化问题的算法,本周小编做足了功课,为大家更新这篇推文。
在讲解多目标优化问题之前,小编想先讲一个小故事,说有一位女生,她想每天都吃好多好吃的,同时又想保持好身材,我们都知道这在现实生活中很难实现的。这其实可以抽象为一个实际问题模型,如何保证每天摄入食物最多,且体重最小,比如说女生1每天摄入2kg食物,体重50Kg;女生2每天摄入2Kg食物,体重52Kg;女生3每天摄入1Kg食物,体重50Kg;女生4每天摄入1Kg食物,体重48Kg。
我们最终得出的结论是女生1要好于女生2,因为吃同样多的饭,女生1比女生2瘦;女生1也好于女生3,虽然两人体重相同,但女生1更能吃;女生4要好于女生3,因为吃同样多的饭,女生4比女生3瘦;But,女生1和女生4谁更优秀呢,我们无法比较,这里实质上就是说这个问题不只有一个“最优解”。当然小编只是举个例子。目的是告诉大家,多目标问题没有一个所谓的最优解,而是有一个最优解的集合,看到这里各位可能会有点蒙,没关系,下面小编给出一个实例,让大家直观感受一下小编刚才说的是什么意思。
问题描述:
假设存在五类物品,每类物品中又包含四种具体物品,现要求从这五类物品中分别选择一种物品放入背包中,使得背包内物品的总价值最大,总体积最小,并且背包的