Добрый вечер. перед тем как обратиться за помощью, постарался найти решение, но все же либо плохо искал, либо лучшего решения пока нет. Прошу помощи в изменении кода который в принципе работает, но хотелось бы большего удобства в рабочее время необходимо суммировать ячейки от верхней к нижнему, и конечно же увеличить скорость работы. надеюсь на вашу помощь, если конечно вам не трудно. заранее спасибо
Добрый вечер. перед тем как обратиться за помощью, постарался найти решение, но все же либо плохо искал, либо лучшего решения пока нет. Прошу помощи в изменении кода который в принципе работает, но хотелось бы большего удобства в рабочее время необходимо суммировать ячейки от верхней к нижнему, и конечно же увеличить скорость работы. надеюсь на вашу помощь, если конечно вам не трудно. заранее спасибоromik85
где ж похожий-то? в первой программке находится первая попавшаяся комбинация чисел, удовлетворяющая нужной сумме плюс-минус отклонение. ну. не первая попавшаяся, а строго от бо'льших слагаемых к меньшим, но не суть. главное - одна. и, практически на 100% - не самая лучшая. кстати, что считать лучшим вариантом? аксакалы говорят - от задачи зависит врут, да?
а во второй - все комбинации. правда, без особой оптимизации - тупо перебираются все варианты, тупо суммируются до упора, а потом сравниваются на сумму. зато потом из всех комбинаций можно выбрать "лучшую" - самую близкую по сумме или с самым большим кол-вом слагаемых и т.п.
поэтому "похожими" назвать эти программы можно только при наличии чудовищно гипертрофированной фантазии, помноженной на полное незнание предмета
вам что нужно-то? какую задачу решам, насяльника?
upd гм... после редактирования ТС-ом своих сообщений моё сообщение повисло в воздухе и скоро начнёт плохо пахнуть заново врубаться и отвечать "в тему" - пока некогда, ибо на работе. пусть до вечера повисит, ок?
где ж похожий-то? в первой программке находится первая попавшаяся комбинация чисел, удовлетворяющая нужной сумме плюс-минус отклонение. ну. не первая попавшаяся, а строго от бо'льших слагаемых к меньшим, но не суть. главное - одна. и, практически на 100% - не самая лучшая. кстати, что считать лучшим вариантом? аксакалы говорят - от задачи зависит врут, да?
а во второй - все комбинации. правда, без особой оптимизации - тупо перебираются все варианты, тупо суммируются до упора, а потом сравниваются на сумму. зато потом из всех комбинаций можно выбрать "лучшую" - самую близкую по сумме или с самым большим кол-вом слагаемых и т.п.
поэтому "похожими" назвать эти программы можно только при наличии чудовищно гипертрофированной фантазии, помноженной на полное незнание предмета
вам что нужно-то? какую задачу решам, насяльника?
upd гм... после редактирования ТС-ом своих сообщений моё сообщение повисло в воздухе и скоро начнёт плохо пахнуть заново врубаться и отвечать "в тему" - пока некогда, ибо на работе. пусть до вечера повисит, ок?ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Понедельник, 17.03.2014, 09:41
да. по крйней мере - для меня. "второй" (учитывая историю темы) макрос практически оптимален. для общего случая. ускорять там почти нечего.
так, в примере для проверки 20-ти слагаемых (а это более 1 миллиона сочетаний) трантится около 22-х секунд, находится около 5000 вариантов. имхо, вполне неплохо. со скидкой на интерпретируемый язык (VBA). что дальше?
какая реальная задача? какие реальныые данные? какие объемы? какая скорость работы жизненно необходима?
в зависимости от "локальных", конкретных условий, можно попробовать подумать над алгориттмом и реализацией. и я сомневаюсь, что это будет "просто" но пока даже думать не о чём.
да. по крйней мере - для меня. "второй" (учитывая историю темы) макрос практически оптимален. для общего случая. ускорять там почти нечего.
так, в примере для проверки 20-ти слагаемых (а это более 1 миллиона сочетаний) трантится около 22-х секунд, находится около 5000 вариантов. имхо, вполне неплохо. со скидкой на интерпретируемый язык (VBA). что дальше?
какая реальная задача? какие реальныые данные? какие объемы? какая скорость работы жизненно необходима?
в зависимости от "локальных", конкретных условий, можно попробовать подумать над алгориттмом и реализацией. и я сомневаюсь, что это будет "просто" но пока даже думать не о чём.
в приложенном файле реальный объем необходимо найти наименование товаров которые составляют определенную сумму по поводу сортировки, правильным было бы показывать комбинации первой ячейки, затем второй и .т.д причем в комбинации др. ячеек должны отсутствовать комбинации с предыдущими ячейками.
в приложенном файле реальный объем необходимо найти наименование товаров которые составляют определенную сумму по поводу сортировки, правильным было бы показывать комбинации первой ячейки, затем второй и .т.д причем в комбинации др. ячеек должны отсутствовать комбинации с предыдущими ячейками.romik85
про то что вы спросили я постарался, ответить выложив объем работы и реальные данные, показав реальную задачу. проблема в том, что вариантов получается очень много, и все они заполнены без какой либо сортировки, ну и + неудобная привязка вывода результатов. я понимаю что задача сложная да и у меня скорее всего не получилось толком поставить правильно задачу. во всяком случае, зашли вы ничуть не зря, спасибо что посчитали нужным ответить и за время которое тут потратили.
про то что вы спросили я постарался, ответить выложив объем работы и реальные данные, показав реальную задачу. проблема в том, что вариантов получается очень много, и все они заполнены без какой либо сортировки, ну и + неудобная привязка вывода результатов. я понимаю что задача сложная да и у меня скорее всего не получилось толком поставить правильно задачу. во всяком случае, зашли вы ничуть не зря, спасибо что посчитали нужным ответить и за время которое тут потратили.romik85
Сообщение отредактировал romik85 - Четверг, 20.03.2014, 00:37