Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подбор слагаемых под нужную сумму (задача о рюкзаке) - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Подбор слагаемых под нужную сумму (задача о рюкзаке) (Макросы/Sub)
Подбор слагаемых под нужную сумму (задача о рюкзаке)
autostavrroute Дата: Пятница, 20.09.2019, 23:15 | Сообщение № 21
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Ваша задача разбирается здесь


Как то не верно она делает подбор вот пример
15810
6000
2520
2500
2645

Надо набрать сумму 9018
 
Ответить
Сообщение
Ваша задача разбирается здесь


Как то не верно она делает подбор вот пример
15810
6000
2520
2500
2645

Надо набрать сумму 9018

Автор - autostavrroute
Дата добавления - 20.09.2019 в 23:15
Pelena Дата: Суббота, 21.09.2019, 11:33 | Сообщение № 22
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
autostavrroute, если готовое решение Вам не помогло, создайте тему в разделе ВОПРОСЫ ПО EXCEL, приложив файл с примером


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеautostavrroute, если готовое решение Вам не помогло, создайте тему в разделе ВОПРОСЫ ПО EXCEL, приложив файл с примером

Автор - Pelena
Дата добавления - 21.09.2019 в 11:33
nixilus Дата: Воскресенье, 20.10.2019, 00:30 | Сообщение № 23
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
А если усложнить задачу, есть набор цен на товары, и надо выйти на определенную итоговую цифру: 220350,57
Но путем перебора количества от 0 до х.

Надо закрыть договор, но итоговая сумма не сходится, больше не заплатят, если меньше, хоть на копейку, то расторжение, что тоже не здорово.
Есть прайс с согласованными ценами и надо выбирать из того что есть.

11 413,01
21 024,17
24 596,93
10 951,88
306,62
9 851,03
3 172,05
4 108,76
1 973,51
3 533,68
924,08
1 737,83
6 537,10
8 288,46
7 487,33
3 456,73
746,11
1 964,49
912,66
359,53
506,53
138,88
159,03
49,3
 
Ответить
СообщениеА если усложнить задачу, есть набор цен на товары, и надо выйти на определенную итоговую цифру: 220350,57
Но путем перебора количества от 0 до х.

Надо закрыть договор, но итоговая сумма не сходится, больше не заплатят, если меньше, хоть на копейку, то расторжение, что тоже не здорово.
Есть прайс с согласованными ценами и надо выбирать из того что есть.

11 413,01
21 024,17
24 596,93
10 951,88
306,62
9 851,03
3 172,05
4 108,76
1 973,51
3 533,68
924,08
1 737,83
6 537,10
8 288,46
7 487,33
3 456,73
746,11
1 964,49
912,66
359,53
506,53
138,88
159,03
49,3

Автор - nixilus
Дата добавления - 20.10.2019 в 00:30
olegpike Дата: Пятница, 15.11.2019, 13:03 | Сообщение № 24
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
MCH, Встречал давние Ваши посты о распределении веса по контейнерам.
В той ветке давно не писались комментарии. Поэтому пишу здесь - похожее обсуждение задачи.

У меня задача немного усложнилась: есть, например, 21 единица груза, имеющие каждая - разный вес, в общей сумме, допустим 10500 кг. Как их максимально распределить по трем отсекам, у каждого из которого свое ограничение по весу (пусть будет, 4т/6т/1т)?

В Вашем файле по контейнерам можно сортировать грузы только под один общий вес... Если же потом устанавливать другой вес, то могут попасть те же самые грузы. Как сделать, чтобы они распределились по всем отсекам?


Сообщение отредактировал olegpike - Пятница, 15.11.2019, 14:56
 
Ответить
СообщениеMCH, Встречал давние Ваши посты о распределении веса по контейнерам.
В той ветке давно не писались комментарии. Поэтому пишу здесь - похожее обсуждение задачи.

У меня задача немного усложнилась: есть, например, 21 единица груза, имеющие каждая - разный вес, в общей сумме, допустим 10500 кг. Как их максимально распределить по трем отсекам, у каждого из которого свое ограничение по весу (пусть будет, 4т/6т/1т)?

В Вашем файле по контейнерам можно сортировать грузы только под один общий вес... Если же потом устанавливать другой вес, то могут попасть те же самые грузы. Как сделать, чтобы они распределились по всем отсекам?

Автор - olegpike
Дата добавления - 15.11.2019 в 13:03
MCH Дата: Пятница, 15.11.2019, 16:02 | Сообщение № 25
Группа: Админы
Ранг: Старожил
Сообщений: 2002
Репутация: 751 ±
Замечаний: ±

olegpike,
Создайте отдельную тему в основной ветке с вопросом и приложите исходные данные
Задача упаковки в контейнеры близка к задаче линейного раскроя, можно использовать схожие методы решения: http://www.excelworld.ru/forum/3-21304-1
 
Ответить
Сообщениеolegpike,
Создайте отдельную тему в основной ветке с вопросом и приложите исходные данные
Задача упаковки в контейнеры близка к задаче линейного раскроя, можно использовать схожие методы решения: http://www.excelworld.ru/forum/3-21304-1

Автор - MCH
Дата добавления - 15.11.2019 в 16:02
Atna Дата: Четверг, 12.12.2019, 09:15 | Сообщение № 26
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго дня! Подскажите пожалуйста по такой задаче: нужно купить определенное количества досок разной длинны, например 1,2м - 30 шт, 2,7м - 25 шт. и т.д.. Но в наличие доски длинной 2,4 и 6 м. Как минимизировать обрезки и закупить оптимальное количество материала?
Спасибо МСН, я нашел, что искал.


Сообщение отредактировал Atna - Четверг, 12.12.2019, 11:32
 
Ответить
СообщениеДоброго дня! Подскажите пожалуйста по такой задаче: нужно купить определенное количества досок разной длинны, например 1,2м - 30 шт, 2,7м - 25 шт. и т.д.. Но в наличие доски длинной 2,4 и 6 м. Как минимизировать обрезки и закупить оптимальное количество материала?
Спасибо МСН, я нашел, что искал.

Автор - Atna
Дата добавления - 12.12.2019 в 09:15
anvg Дата: Воскресенье, 09.02.2020, 12:03 | Сообщение № 27
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Р
итоговую цифру: 220350,57
Но путем перебора количества от 0 до х.
Долго однако рюкзак считает на итог
6 * 6537,1 + 1 * 7487,33 + 2 * 8288,46 + 9 * 9851,03 + 4 * 10951,88 + 1 * 24596,93
ушло две с половиной минуты.
Михаил, есть идеи как ускорить?
К сообщению приложен файл: 4834183.xlsb (28.0 Kb)


Сообщение отредактировал anvg - Воскресенье, 09.02.2020, 12:16
 
Ответить
СообщениеР
итоговую цифру: 220350,57
Но путем перебора количества от 0 до х.
Долго однако рюкзак считает на итог
6 * 6537,1 + 1 * 7487,33 + 2 * 8288,46 + 9 * 9851,03 + 4 * 10951,88 + 1 * 24596,93
ушло две с половиной минуты.
Михаил, есть идеи как ускорить?

Автор - anvg
Дата добавления - 09.02.2020 в 12:03
Olga_Shein Дата: Четверг, 21.05.2020, 11:50 | Сообщение № 28
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Прошу помощи в поиске решений. Из значений в столбце А необходимо получить искомое значение. Читаю все ветки данного вопроса и что-то у меня не получается...
Прошу помочь и заранее огромное спасибо!
К сообщению приложен файл: 7910443.xlsx (10.3 Kb)
 
Ответить
СообщениеДобрый день!
Прошу помощи в поиске решений. Из значений в столбце А необходимо получить искомое значение. Читаю все ветки данного вопроса и что-то у меня не получается...
Прошу помочь и заранее огромное спасибо!

Автор - Olga_Shein
Дата добавления - 21.05.2020 в 11:50
китин Дата: Четверг, 21.05.2020, 11:59 | Сообщение № 29
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Olga_Shein, - Прочитайте Правила форума
- Создайте свою тему в правильном разделе согласно п.5q Правил форума


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеOlga_Shein, - Прочитайте Правила форума
- Создайте свою тему в правильном разделе согласно п.5q Правил форума

Автор - китин
Дата добавления - 21.05.2020 в 11:59
igor_k Дата: Среда, 17.03.2021, 10:59 | Сообщение № 30
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Подскажите или помогите по какому пути мне идти.
Много почитал постов про подбор чисел, но применяя макросы или надстройки, как описывают там, слишком долго ведется расчет а то и зависает компьютер.
Выбился уже из сил, не получается, а в ручную очень долго. Может есть какой нибудь выход?
Задача заключается в следующем:
От заказчика поступают данные о площади обогреваемой поверхности (строка 2). Мне нужно посчитать сколько нагревательных секций, в штуках, необходимо для этой площади.
Длина секций фиксированная (столбец Z).
Сначала я узнаю какая общая длина необходима для данной плащади (строка 4) и потом зная общую длину мне нужно разбить ее на секции с фиксироанной длиной.
В первую очередь мне нужно использовать самые длинные секции (128ми-метровые), потом если длина не набирается то использовать секции меньшей длины.
В столце АВ, напротив каждой длины секций прописываю сколько штук с такой длиной. Погрешность с общей длиной допускаю +/- 4м. И вот в каждом столбце приходится высчитывать сколько и каких секций нужно чтобы "перекрыть" общую длину на площадке.
В данном примере я 5 площадок привел а их может быть под сотню.
Помогите пожалуйста решить задачу.
файл прикладываю
К сообщению приложен файл: 2011894.xls (328.5 Kb)
 
Ответить
СообщениеДобрый день! Подскажите или помогите по какому пути мне идти.
Много почитал постов про подбор чисел, но применяя макросы или надстройки, как описывают там, слишком долго ведется расчет а то и зависает компьютер.
Выбился уже из сил, не получается, а в ручную очень долго. Может есть какой нибудь выход?
Задача заключается в следующем:
От заказчика поступают данные о площади обогреваемой поверхности (строка 2). Мне нужно посчитать сколько нагревательных секций, в штуках, необходимо для этой площади.
Длина секций фиксированная (столбец Z).
Сначала я узнаю какая общая длина необходима для данной плащади (строка 4) и потом зная общую длину мне нужно разбить ее на секции с фиксироанной длиной.
В первую очередь мне нужно использовать самые длинные секции (128ми-метровые), потом если длина не набирается то использовать секции меньшей длины.
В столце АВ, напротив каждой длины секций прописываю сколько штук с такой длиной. Погрешность с общей длиной допускаю +/- 4м. И вот в каждом столбце приходится высчитывать сколько и каких секций нужно чтобы "перекрыть" общую длину на площадке.
В данном примере я 5 площадок привел а их может быть под сотню.
Помогите пожалуйста решить задачу.
файл прикладываю

Автор - igor_k
Дата добавления - 17.03.2021 в 10:59
igor_k Дата: Среда, 17.03.2021, 12:01 | Сообщение № 31
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

В кратце, имеется общая длина и для нее надо подобрать желательно одинаковые длины секций. Если не хватает одинаковых то использовать другие меньшей длиной.
И это надо не только для одного числа так сделать (одна площадка) а много таких чисел (много площадок) на листе
 
Ответить
СообщениеВ кратце, имеется общая длина и для нее надо подобрать желательно одинаковые длины секций. Если не хватает одинаковых то использовать другие меньшей длиной.
И это надо не только для одного числа так сделать (одна площадка) а много таких чисел (много площадок) на листе

Автор - igor_k
Дата добавления - 17.03.2021 в 12:01
MCH Дата: Среда, 17.03.2021, 13:56 | Сообщение № 32
Группа: Админы
Ранг: Старожил
Сообщений: 2002
Репутация: 751 ±
Замечаний: ±

Задачу можно перенести в отдельную тему
слишком долго ведется расчет а то и зависает компьютер

Для указанных данных задачу можно решать динамическим программированием, будет считаться на макросах очень быстро

надо подобрать желательно одинаковые длины секций

Какой критерий оптимальности:
Наименьшее кол-во различных секций?
Наименьшее количество выбранных секций, т.е. стараться брать как можно бОльшие секции, при этом общее кол-во всех секций будет минимальным?
Минимизация общей стоимости секций (для этого нужно указывать стоимость каждой секции)?
Как управлять допуском +/- 4м, предпочтительно точная длина, с запасом (т.е. не менее нужной), с недостатком (т.е. сколько нужно или меньше)?

При нужном размере 120 у Вас подобрано 42*2+36, а можно 24*5, какой вариант предпочтительнее?
 
Ответить
СообщениеЗадачу можно перенести в отдельную тему
слишком долго ведется расчет а то и зависает компьютер

Для указанных данных задачу можно решать динамическим программированием, будет считаться на макросах очень быстро

надо подобрать желательно одинаковые длины секций

Какой критерий оптимальности:
Наименьшее кол-во различных секций?
Наименьшее количество выбранных секций, т.е. стараться брать как можно бОльшие секции, при этом общее кол-во всех секций будет минимальным?
Минимизация общей стоимости секций (для этого нужно указывать стоимость каждой секции)?
Как управлять допуском +/- 4м, предпочтительно точная длина, с запасом (т.е. не менее нужной), с недостатком (т.е. сколько нужно или меньше)?

При нужном размере 120 у Вас подобрано 42*2+36, а можно 24*5, какой вариант предпочтительнее?

Автор - MCH
Дата добавления - 17.03.2021 в 13:56
igor_k Дата: Среда, 17.03.2021, 14:57 | Сообщение № 33
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

MCH,
оптимальный вариант это все большие секции, их меньшее кол-во будет. Секциями меньшей длины дополнять то что не хватает.
про стоимость задача не стоит, не нужно указывать.
В идеале допуск нулевой конечно, но не всегда это получается. Поэтому если будет больше на 4м или меньше не сильно страшно.
Предпочтительнее сначала большие секции использовать , чтобы меньшее их кол-во было. 42*2+36 здесь всего три секции используется а 24*5 здесь уже 5 секций. Это уже дороже будет заказчику
 
Ответить
СообщениеMCH,
оптимальный вариант это все большие секции, их меньшее кол-во будет. Секциями меньшей длины дополнять то что не хватает.
про стоимость задача не стоит, не нужно указывать.
В идеале допуск нулевой конечно, но не всегда это получается. Поэтому если будет больше на 4м или меньше не сильно страшно.
Предпочтительнее сначала большие секции использовать , чтобы меньшее их кол-во было. 42*2+36 здесь всего три секции используется а 24*5 здесь уже 5 секций. Это уже дороже будет заказчику

Автор - igor_k
Дата добавления - 17.03.2021 в 14:57
igor_k Дата: Четверг, 18.03.2021, 07:26 | Сообщение № 34
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Задачу можно перенести в отдельную тему


В правилах создания темы написано что нельзя просить о помощи, а нужно привести свой расчет и обсуждать его. Моя проблема в том и заключается что я не могу придумать как это сделать. Поэтому прошу о помощи в подобной, уже созданной теме
 
Ответить
Сообщение
Задачу можно перенести в отдельную тему


В правилах создания темы написано что нельзя просить о помощи, а нужно привести свой расчет и обсуждать его. Моя проблема в том и заключается что я не могу придумать как это сделать. Поэтому прошу о помощи в подобной, уже созданной теме

Автор - igor_k
Дата добавления - 18.03.2021 в 07:26
MCH Дата: Четверг, 18.03.2021, 13:56 | Сообщение № 35
Группа: Админы
Ранг: Старожил
Сообщений: 2002
Репутация: 751 ±
Замечаний: ±

Поэтому прошу о помощи в подобной, уже созданной теме

Указанная тема размещена в "Готовых решениях", у Вас же вопрос, хоть и схожий, но его решение лучше оформить отдельной темой, если нужно, то можно перенести вопрос и решение в отдельную тему.

По исходной задаче, посмотрите вложение
Я адаптировал другое решение схожей задачи, поэтому оно учитывает не все Ваши "хотелки", но может и такое решение подойдет

PS: для 120 получилось: 84+36
К сообщению приложен файл: SubsetSumDP0.xlsm (19.1 Kb)
 
Ответить
Сообщение
Поэтому прошу о помощи в подобной, уже созданной теме

Указанная тема размещена в "Готовых решениях", у Вас же вопрос, хоть и схожий, но его решение лучше оформить отдельной темой, если нужно, то можно перенести вопрос и решение в отдельную тему.

По исходной задаче, посмотрите вложение
Я адаптировал другое решение схожей задачи, поэтому оно учитывает не все Ваши "хотелки", но может и такое решение подойдет

PS: для 120 получилось: 84+36

Автор - MCH
Дата добавления - 18.03.2021 в 13:56
igor_k Дата: Четверг, 18.03.2021, 14:25 | Сообщение № 36
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Я адаптировал другое решение схожей задачи, поэтому оно учитывает не все Ваши "хотелки", но может и такое решение подойдет

Спасибо огромное! Такое решение подходит.
Я уже думал что ничего не получится.
Уважаю людей знающих до конца свое дело, мало таких. Еще раз спасибо
 
Ответить
Сообщение
Я адаптировал другое решение схожей задачи, поэтому оно учитывает не все Ваши "хотелки", но может и такое решение подойдет

Спасибо огромное! Такое решение подходит.
Я уже думал что ничего не получится.
Уважаю людей знающих до конца свое дело, мало таких. Еще раз спасибо

Автор - igor_k
Дата добавления - 18.03.2021 в 14:25
igor_k Дата: Четверг, 18.03.2021, 14:26 | Сообщение № 37
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

PS: для 120 получилось: 84+36

дело в том что я на три секции в ручную поделил т.к. на три фазы удобнее три секции раскидать чем две. Ну это мелочи по сравнению с тем что было
 
Ответить
Сообщение
PS: для 120 получилось: 84+36

дело в том что я на три секции в ручную поделил т.к. на три фазы удобнее три секции раскидать чем две. Ну это мелочи по сравнению с тем что было

Автор - igor_k
Дата добавления - 18.03.2021 в 14:26
MCH Дата: Четверг, 18.03.2021, 15:19 | Сообщение № 38
Группа: Админы
Ранг: Старожил
Сообщений: 2002
Репутация: 751 ±
Замечаний: ±

Долго однако рюкзак считает на итог
6 * 6537,1 + 1 * 7487,33 + 2 * 8288,46 + 9 * 9851,03 + 4 * 10951,88 + 1 * 24596,93
ушло две с половиной минуты.
Михаил, есть идеи как ускорить?

У меня решалось пару секунд
11413,01 * 5 + 21024,17 * 4 + 10951,88 * 3 + 306,62 * 3 + 9851,03 * 3 + 3172,05 * 5 = 220350,57
К сообщению приложен файл: SubsetSumProble.xlsb (18.1 Kb)
 
Ответить
Сообщение
Долго однако рюкзак считает на итог
6 * 6537,1 + 1 * 7487,33 + 2 * 8288,46 + 9 * 9851,03 + 4 * 10951,88 + 1 * 24596,93
ушло две с половиной минуты.
Михаил, есть идеи как ускорить?

У меня решалось пару секунд
11413,01 * 5 + 21024,17 * 4 + 10951,88 * 3 + 306,62 * 3 + 9851,03 * 3 + 3172,05 * 5 = 220350,57

Автор - MCH
Дата добавления - 18.03.2021 в 15:19
terina_elena Дата: Вторник, 23.11.2021, 04:26 | Сообщение № 39
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

MCH, Здравствуйте. Я обычный бухгалтер, т. е. знания Excel немного. Но мне нужно подобрать слагаемые по нужной сумме. Изучила Ваши варианты решения данной задачи. Как все это провернуть со своими данными. Массив ввела, формулы прописала, а дальше как. Как запустить процесс решения задачи?
 
Ответить
СообщениеMCH, Здравствуйте. Я обычный бухгалтер, т. е. знания Excel немного. Но мне нужно подобрать слагаемые по нужной сумме. Изучила Ваши варианты решения данной задачи. Как все это провернуть со своими данными. Массив ввела, формулы прописала, а дальше как. Как запустить процесс решения задачи?

Автор - terina_elena
Дата добавления - 23.11.2021 в 04:26
MCH Дата: Вторник, 23.11.2021, 11:39 | Сообщение № 40
Группа: Админы
Ранг: Старожил
Сообщений: 2002
Репутация: 751 ±
Замечаний: ±

terina_elena, приложите свои данные в виде xls файла, и лучше создайте отдельную тему с вопросом
 
Ответить
Сообщениеterina_elena, приложите свои данные в виде xls файла, и лучше создайте отдельную тему с вопросом

Автор - MCH
Дата добавления - 23.11.2021 в 11:39
Мир MS Excel » Вопросы и решения » Готовые решения » Подбор слагаемых под нужную сумму (задача о рюкзаке) (Макросы/Sub)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!