다음과 같은 문제를 해결하기위한 방법을 찾고 있습니다.최상의 조합 찾기
이 제품 격자를 가정 해 보겠습니다.
table = [{'Products': 'Prod1', 'Unit1': 32, 'Unit2': 32, 'Unit3': 27, 'Unit4': 15 },
{'Products': 'Prod2', 'Unit1': 35, 'Unit2': 12, 'Unit3': 19, 'Unit4': 29 },
{'Products': 'Prod3', 'Unit1': 37, 'Unit2': 36, 'Unit3': 36, 'Unit4': 19 },
{'Products': 'Prod4', 'Unit1': 16, 'Unit2': 15, 'Unit3': 18, 'Unit4': 31 },
{'Products': 'Prod5', 'Unit1': 14, 'Unit2': 32, 'Unit3': 20, 'Unit4': 33 },
{'Products': 'Prod6', 'Unit1': 10, 'Unit2': 33, 'Unit3': 28, 'Unit4': 36 },
{'Products': 'Prod7', 'Unit1': 18, 'Unit2': 22, 'Unit3': 27, 'Unit4': 30 },
{'Products': 'Prod8', 'Unit1': 11, 'Unit2': 13, 'Unit3': 20, 'Unit4': 26 }]
df = pd.DataFrame(table)
각 값은이 제품을 판매함으로써 얻을 수있는 최대 수익을 반영합니다. 예 : prod1
2 단위 판매시 32 달러를받습니다. 각 제품마다 최대 4 대를 판매 할 수 있습니다. 그리고 총 16 개 (4 * 4)까지 판매 할 수 있습니다. 내 목표는 총 수익을 극대화하는 것입니다.
{prod1: 2 units (32),
prod2: 1 unit (35),
prod3: 1 unit (37),
prod4: 4 units (31),
prod5: 4 units (33),
prod6: 4 units (36)}
내 질문은 내가 알고리즘을 공식화 할 수있는 방법이다 : 나는 다음과 같은 조합을 판매하는 것입니다 주어진 예에서 내 수익을 극대화하기 위해?
이것은 [배낭 문제] (https://en.wikipedia.org/wiki/Knapsack_problem)와 매우 비슷합니다. – smcd
분명히 할 수 있습니까? prod1을 두 개 판매하면 32 또는 32 + 32 단위 1 + 단위 2)를 수익으로? 마찬가지로 3 : 27 또는 27 + 32 + 32를 판매하기 위해? – MSeifert
@MSeifert : 질문을 업데이트했습니다. 제품 1의 2 개 단위는 32 개이며 3 단위의 경우 27 개입니다. – arijit