как из ряда выбрать числа, сумма которых равна заданному значению

Автор Мари, 22.06.2012, 16:29

« назад - далее »

Мари

Добрый день, подскажите пожалуйста, как из ряда выбрать числа, сумма которых равна заданному значению. У меня столбец с числами около 300 штук чисел, среди них мне надо выбрать скажем 5 чисел, сумма которых будет равна заданному значению. Пробывала поиском решений, но не получается прописать ограничения. Может кто еще подскажет как это сделать???
Ато уже мозги плавятся!!! :-[

Hugo121

Можно поиском решения, но лучше (быстрее) макросом от слэна.
Когда отвиснет http://www.planetaexcel.ru, там на форуме поищите файл
post_319799.xls ("Задача о рюкзаке от Слэна") или
Задача о рюкзаке MCH post_273706.rar
Задача о рюкзаке от anvg post_319978.zip
Задача о рюкзаке формулой post_235937.rar

Хотя может и тут такое уже решали, не знаю...
webmoney: E265281470651 Z422237915069

ZORRO2005

Перебрать 2^300 вариантов - задача непростая.
Мари, выложите файл.
Яндекс-деньги: 410011658492153

Мари

К сожалению не получается у меня туда зайти, ошибку выдает :-\ Буду еще пробовать.
А для поиска решения прописала на листочке ограничения:
1) Х1 неравно Х2 неравно Х3 неравно Х4 неравно Х5   (Х1 Х2 Х3 Х4 Х5 - искомые изменяемые 5 чисел)
2) Х1 є (А1:А200)
3)Х2 є (А1:А200)
4)Х3 є (А1:А200)
5)Х4 є (А1:А200)
6)Х5 є (А1:А200)
А1:А200 - диапазон с заданными значениями
ну и соответственно целевая ячейка с формулой Х1+ Х2+Х3+Х4+Х5=const

Но как приписать в Экселе 2-6 пункт ума не приложу

Мари

Файлик. там первый столбец 100 значений, второй столбец искомые 5 значений, сумма прописана, рядом значение, чему должна равняться сумма

ZORRO2005

Нашел пару вариантов с помощью поиска решений (Лист1, Лист2).
Сорри, сейчас подправлю.
Яндекс-деньги: 410011658492153

Мари


MCH

нашел несколько решений с помощью макроса Слэна http://www.programmersforum.ru/showthread.php?t=175054&page=2 (к сожалению planetaexcel не работает):
94+51+2
85+56+6
79+67+1
76+69+2
69+67+9+2
и др.


ZORRO2005

Что-то не получается найти целочисленное решение при условии:
1) Х1 неравно Х2 неравно Х3 неравно Х4 неравно Х5   (Х1 Х2 Х3 Х4 Х5 - искомые изменяемые 5 чисел)
Значения в D1:D5
Для проверки, чтобы числа не были равны друг другу прописал условие:=ПРОИЗВЕД(Ч(ПОИСКПОЗ(D1:D5;D1:D5;)={1:2:3:4:5}))
Друзья, подскажите формулу попроще.

Пока подставил числа, которые найдены без 1-го ограничения.
Яндекс-деньги: 410011658492153

MCH


Hugo121

webmoney: E265281470651 Z422237915069