Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Алгоритм оптимального расположения отрезков   Найти похожие ветки 

 
Беспечный_Ангел ©   (2005-10-24 15:20) [0]

Здравствуйте, многоуважаемый All =)
Есть такая проблема - необходимо написать алгоритм для следующей задачи:
Даны отрезки заданной длинны в количестве n штук. Нужно найти оптимальную длинну (общуюю) на которой скомбинировать эти маленькие отрезки с минимальными потерями.
Если говорить простым языком, то проблема в следующем: есть прямоугольные отрезки металла, которые нам нужны. Но мы можем заказать полосы только одной длинны. Нужно найти оптимальную длинну полосы и для каждой полосы указать расположение наших "кусочков" с учетом минимальных потерь.
Заранее спасибо!


 
Desdechado ©   (2005-10-24 15:43) [1]

типичная задача плотной упаковки в линейно-вырожденном варианте


 
Беспечный_Ангел ©   (2005-10-24 15:50) [2]


> Desdechado ©   (24.10.05 15:43) [1]

А поподробней? Можно ссылочками в меня кинуть =)


 
Юрий Зотов ©   (2005-10-24 16:07) [3]

> Беспечный_Ангел ©   (24.10.05 15:50) [2]

Ключевые слова для поиска: линейное программирование, симплекс-метод. Но можно и без теории, а тупым полным перебором (именно так когда-то и делал, при разумных N считается моментально). Полный перебор здесь сводится к серии вложенных циклов, а сложность в том, что уровень их вложенности заранее неизвестен и поэтому запрограммировать задачу именно вложенными циклами невозможно. Выход - рекурсивная процедура, содержащая один цикл (при вызове ею самой себя получаем вложенные циклы с любым уровнем вложенности, хоть переменным).

Только сначала определитесь с постановкой. Если длина полосы уже известна, то это одна задача (минимизация потерь в чистом виде), если же как раз ее и надо определить - немного другая (минимизация разности длин составных отрезков).


 
Беспечный_Ангел ©   (2005-10-24 17:46) [4]

Пасиба =) Буду копать =) К сожалению, "тупым" перебором не получится, n достаточно большое :(


 
oldman ©   (2005-10-24 17:49) [5]

Перечитал вопрос.
Не понял - ширина не учавствует вообще???


 
Sam Stone ©   (2005-10-24 17:51) [6]

По-моему, тут должна подойти задача о ранце или ее аналог - задача о выкройке(если не ошибаюсь)


 
Igorek ©   (2005-10-24 18:12) [7]

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


 
Беспечный_Ангел ©   (2005-10-24 18:13) [8]


> oldman ©   (24.10.05 17:49) [5]

Нет. Тут просто длинны отрезков.

> Sam Stone ©   (24.10.05 17:51) [6]

хм.. В общем - да.. Вчера ночью я как-то пробежал мимо него, а сейчас посмотрел... Спасибо! =)

> Юрий Зотов ©   (24.10.05 16:07) [3]

К сожалению, найти удалось не очень много, но пища к размышлению есть =).
Еще раз Спасибо!


 
Беспечный_Ангел ©   (2005-10-24 18:17) [9]


> Igorek ©   (24.10.05 18:12) [7]

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


 
MBo ©   (2005-10-24 18:20) [10]

http://delphibase.spb.ru/?action=viewfunc&topic=mathalg&id=10413
http://delphibase.spb.ru/?action=viewbook&book=10413&topic=mathalg


 
GEN++ ©   (2005-10-24 21:02) [11]

Алгоритм оптимального расроя в несколько измененном виде
Длина исходных листов - это не бесконечное множество =>
надо сделать просчет исходных листов с реальным шагом до получения
варианта с max коэфициентом заполнения

Приходилось делать на программе "Bars" нечто похожее



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

Форум: "Потрепаться";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
4-1126609187
Cherrex
2005-09-13 14:59
2005.11.13
Как использовать GetUserName


14-1130003274
midori
2005-10-22 21:47
2005.11.13
groups.google.ru


14-1129731119
ArtemESC
2005-10-19 18:11
2005.11.13
Старый добрый Turbo Pascal


14-1130129703
Ega23
2005-10-24 08:55
2005.11.13
С днем рождения! 24 октября


2-1129469248
Megabyte
2005-10-16 17:27
2005.11.13
Вопрос по IBX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский