I have this data for the knapsack problem:
I have data:
- List of product prices = MENU
MENU - Most popluarpopular product count = MOST_POPULAR_COCKTAIL
MOST_POPULAR_COCKTAIL - Knapsack price = CASH
CASH - Knapsack length = CHECK_LEN
CHECK_LEN
I need get all knapsack combinations from a list of products prices which satisfy:
- List of product prices bigger or equal knapsack length
- Each price in combination must multiply on difrentdifferent natural number in range range from 1 to most popluarpopular product price
- Total combination price must equal knapsack price
- Combination length must equal knapsack length
I wrote program on Python, it contains two files.
CASH = 6600
CHECK_LEN = 10
MOST_POPULAR_COCKTAIL = 12
MENU = [
{'Безалкогольные': [
{
'name': 'Мохито класический',
'buy_price': 40,
'sell_price': 150,
'sold_today': True,
},
{
'name': 'Мохито клубничный',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
{
'name': 'Мохито с сиропом',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
]},
{'Тропические': [
{
'name': 'Пляжный витамин',
'buy_price': 40,
'sell_price': 230,
'sold_today': True,
},
{
'name': 'Пеликан',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
{
'name': 'Наслаждение киви',
'buy_price': 40,
'sell_price': 200,
'sold_today': True,
},
{
'name': 'Имбирный лимонад',
'buy_price': 40,
'sell_price': 150,
'sold_today': True,
},
]},
{'Молочные': [
{
'name': 'Молочный шейк',
'buy_price': 40,
'sell_price': 160,
'sold_today': True,
},
]},
{'Освежающие напитки': [
{
'name': 'Свежевыжатый сок',
'buy_price': 40,
'sell_price': 120,
'sold_today': True,
},
{
'name': 'Лимонад',
'buy_price': 40,
'sell_price': 120,
'sold_today': True,
},
]},
{'Алкогольные': [
{
'name': 'Мохито классический',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Мохито клубничный',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Пина колада',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Лонг айленд айс ти',
'buy_price': 40,
'sell_price': 350,
'sold_today': True,
},
{
'name': 'Восход солнца',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Секс на пляже',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Дайкири клубничный',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Голубая лагуна',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Маргарита клубничная',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Виски/ром кола',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
]},
{'Фьюжн': [
{
'name': 'Плантаторский пунш',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Ураган',
'buy_price': 40,
'sell_price': 320,
'sold_today': True,
},
{
'name': 'Май-тай',
'buy_price': 40,
'sell_price': 320,
'sold_today': True,
},
{
'name': 'Джин физ клубничный',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Московский мул',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
]},
]
CASH = 6600
CHECK_LEN = 10
MOST_POPULAR_COCKTAIL = 12
MENU = [
{'Безалкогольные': [
{
'name': 'Мохито класический',
'buy_price': 40,
'sell_price': 150,
'sold_today': True,
},
{
'name': 'Мохито клубничный',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
{
'name': 'Мохито с сиропом',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
]},
{'Тропические': [
{
'name': 'Пляжный витамин',
'buy_price': 40,
'sell_price': 230,
'sold_today': True,
},
{
'name': 'Пеликан',
'buy_price': 40,
'sell_price': 180,
'sold_today': True,
},
{
'name': 'Наслаждение киви',
'buy_price': 40,
'sell_price': 200,
'sold_today': True,
},
{
'name': 'Имбирный лимонад',
'buy_price': 40,
'sell_price': 150,
'sold_today': True,
},
]},
{'Молочные': [
{
'name': 'Молочный шейк',
'buy_price': 40,
'sell_price': 160,
'sold_today': True,
},
]},
{'Освежающие напитки': [
{
'name': 'Свежевыжатый сок',
'buy_price': 40,
'sell_price': 120,
'sold_today': True,
},
{
'name': 'Лимонад',
'buy_price': 40,
'sell_price': 120,
'sold_today': True,
},
]},
{'Алкогольные': [
{
'name': 'Мохито классический',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Мохито клубничный',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Пина колада',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Лонг айленд айс ти',
'buy_price': 40,
'sell_price': 350,
'sold_today': True,
},
{
'name': 'Восход солнца',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Секс на пляже',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Дайкири клубничный',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Голубая лагуна',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Маргарита клубничная',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Виски/ром кола',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
]},
{'Фьюжн': [
{
'name': 'Плантаторский пунш',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
{
'name': 'Ураган',
'buy_price': 40,
'sell_price': 320,
'sold_today': True,
},
{
'name': 'Май-тай',
'buy_price': 40,
'sell_price': 320,
'sold_today': True,
},
{
'name': 'Джин физ клубничный',
'buy_price': 40,
'sell_price': 280,
'sold_today': True,
},
{
'name': 'Московский мул',
'buy_price': 40,
'sell_price': 250,
'sold_today': True,
},
]},
]
and knapsack.py
With that algorithm I'll die faster than program solve problem.
Could anybody help make this faster.?