Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

Подскажите алгоритмик   Найти похожие ветки 

 
Milz ©   (2002-08-21 14:30) [0]

Задача такая.
Есть N величин - требуемое расстояния между элементами конструкции (массив А) и номенклатура (размер, количество штук) втулок-проставок между этими элементами (массив Б). Надо подобрать втулки c учётом ограничений.
1. сумма размеров втулок должна равняться размеру из массива А или отличаться не более чем на m
2. количество втулок из которых складывается размер из массива А должно быть не более n
3. общее количество использующихся втулок должно быть по возможности минимальным.
4. втулки берутся из массива Б, дать сообщение если определённого размера не хватает (как самого размера, так и количества втулок данного размера)

Т.е. задача о назначениях с ограничениями. Переборный алгоритм не устраивает т.к. слишком много данных. 3-е ограничение может выполняться не точно.


 
Mike B. ©   (2002-08-21 14:37) [1]

Может какой-нибудь вариант симплекс-метода подойдет?
Хотя я не уверен.


 
Romkin ©   (2002-08-21 16:14) [2]

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



Страницы: 1 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
6-50880
Чайник2
2002-07-09 05:07
2002.09.16
Сеть


6-50903
resident1984
2002-07-06 18:00
2002.09.16
NetBios имя хоста.


14-50941
RV
2002-08-08 13:53
2002.09.16
Где есь сайты, крые пишут IP входящего (где нибудь на заглавной)


4-51016
DAO
2002-07-22 21:02
2002.09.16
Ошибка работы с потоком (CoInitialize...)


14-50962
JAndrey
2002-08-22 10:24
2002.09.16
Где взять компоненты для работы с COM, LPT, EPP, ECP портами???..