工作时间AM:09:00--PM:20:00

WORKINGTIME

0898-08980898免费咨询

0898-08980898
邮箱:
admin@eyoucms.com
电话:
0898-08980898
传真:
0000-0000-0000
手机:
13800000000
地址:
海南省海口市
新闻资讯
当前位置: 首页 > 新闻资讯
K-优化算法  上传时间:2024-03-11 13:27:52

ps:个人理解,若有错误还请各位大佬们纠正(最近某高校的作业涉及到了这个,是不是网上搜不到啊,嘿嘿嘿)

在这里插入图片描述
这就是定义= =
帮助理解,废话不多说直接上例题

例1

用1-优化法求解以下0/1背包问题,已知:n = 8, w = [16, 20, 4, 15, 25, 10, 5, 8],p = [100, 200, 50, 90, 175, 50, 20, 60], c = 70。

解:贪心策略:按价值密度非递减的顺序检查物品,若剩余容量能容下正在考察的物品,将其装入;否则考虑下个物品。
用贪心法求解的过程:
效益密度为[ 6.25, 10 , 12.5 , 6 , 7 , 5 , 4 , 7.5 ],对其排序后得到的物品顺序为[ 3 , 2 , 8 , 5 , 1 , 4 , 6 , 7 ],对应的重量为[ 4 , 20 , 8 , 25 , 16 , 15 , 10 , 5 ]。
k=0时的计算结果为:
装入物品3、2、8、5后,背包剩余容量为13,接下来物品1、4的重量都超过了13,考察物品6,6装入后,背包剩余容量为3,考察物品7,其重量大于剩余容量,所以答案 x =(0 , 1 , 1 , 0 , 1 , 1 , 0 , 1 ),得到的效益值为535。
当k=1时的计算结果为:
先放物品3、2、8、5,得到的效益值仍为535,贪心解同上;
先放物品1,得到效益值520,贪心解为(1,1,1,1,0,0,1,1);先放物品4,得到的效益值为520,贪心解为(1,1,1,1,0,0,1,1);
先放物品6,得到效益值为535,贪心解为(0,1,1,0,1,1,0,1);先放物品7,得到效益值为505,贪心解为(0,1,1,0,1,1,1)。所以k优化法得到的解为(0 , 1 , 1 , 0 , 1 , 1 , 0 , 1 ),效益值为535。

这应该算是参考答案,写得有点抽象= =
1-优化情况比较少,我们来看看2-优化(俺的想法)

例2

题目参考例1,使用2-优化算法
ps:很有精神,穷举吧。。。我比较懒。。。
下面展示一些 此例子使用哦。

 
 

运行结果
在这里插入图片描述

a3a2a8a5a6 535
a3a8a2a5a6 535
a3a5a2a8a6 535
a3a1a2a8a4a7 520
a3a4a2a8a1a7 520
a3a6a2a8a5 535
a3a7a2a8a5 505
a2a8a3a5a6 535
a2a5a3a8a6 535
a2a1a3a8a4a7 520
a2a4a3a8a1a7 520
a2a6a3a8a5 535
a2a7a3a8a5 505
a8a5a3a2a6 535
a8a1a3a2a4a7 520
a8a4a3a2a1a7 520
a8a6a3a2a5 535
a8a7a3a2a5 505
a5a1a3a2a7 545
a5a4a3a2a7 535
a5a6a3a2a8 535
a5a7a3a2a8 505
a1a4a3a2a8a7 520
a1a6a3a2a8a7 480
a1a7a3a2a8a4 520
a4a6a3a2a8a7 470
a4a7a3a2a8a1 520
a6a7a3a2a8a1 480

= =水啊水,还是那句话,若理解有误,请给学渣指出来,跪谢查阅的大佬们~~~

平台注册入口