Contoh Greedy
class Solution:
def __init__(self,upgrade,cost,risk_reduction,poin):
self.upgrade = upgrade
self.cost = cost
self.risk_reduction = risk_reduction
self.poin = poin
def greedy(list_upgrade):
total_cost = 0
total_risk_reduction = 0
unused_budget = 100
selected_upgrades = []
for i in list_upgrade:
if total_cost + i.cost <= 100:
selected_upgrades.append(i)
total_cost += i.cost
total_risk_reduction += i.risk_reduction
unused_budget = 100 - total_cost
return total_cost, total_risk_reduction, unused_budget, selected_upgrades
list_upgrade = [
Solution("Digital Temperature Monutoring", 20, 120, 6),
Solution("Insulted food-delivery container", 40, 200, 5),
Solution("Blast Chiller", 60, 240, 4),
Solution("Additional washing and sterillization station", 15, 75, 5),
Solution("Water filtration upgrade", 30, 130, 4.33),
Solution("backup generator", 50, 180, 3.60)
]
list_upgrade.sort(key=lambda x: x.poin, reverse=True)
(total_cost, total_risk_reduction, unused_budget, selected_upgrades) = greedy(list_upgrade)
print(f"Total Cost: {total_cost}")
print(f"Total Risk Reduction: {total_risk_reduction}")
print(f"Unused Budget: {unused_budget}")
print("Selected Upgrades:")
for upgrade in selected_upgrades:
print(f"Upgrade: {upgrade.upgrade}, Cost: {upgrade.cost}, Risk Reduction: {upgrade.risk_reduction}, Poin: {upgrade.poin}")
Komentar
Posting Komentar