2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Помогите, пожалуйста, с BIP задачей
Сообщение24.02.2011, 16:45 


24/02/11
2
Очень нуждаюсь в помощи сообщества. Преподаватель дал задачу (на 2 недели) под написание программы по формированию графика рабочих. N рабочих, M дней, несколько суточных рабочих периодов (с 7 утра, с 9 и т.д. квантованием по часу). Масса ограничений (не менее и не более определенного числа рабочих дней, не менее и не более активных рабочих, не более 3 дней работы подряд и еще десяток типов ограничений). Решил "в лоб" свести все к задаче BIP, т.е. воспользоваться линейным программированием, вести бинарные 0-1 переменные "вышел в данный период/не вышел" и прорешать в том же MatLab. Проблема в росте размерности (получается N*M*число_периодов переменных). Сначала использовал bintprog и генетические алгоритмы из MatLab. Дохлый номер, т.к. эти методы не расчитаны на такое количество переменных. Затем были по цепочке открытые и не очень проекты: LP_Solve (решает, но ОЧЕНЬ долго), GPLK (пришлось ставить Linux, т.к. WinGPLK отказывался работать), Symphony и, наконец, ломаный IBM CPLEX (сверхбыстрая штука). Последние два решают задачи более-менее быстро, но неспособны переварить ПОЛОВИНУ ограничений, так сказать, problem is infeasible, как ты ни играйся с настройками. А это неприемлимо. Почитал книжку Кристофидеса, свел частично задачу к поиску максимального потока минимальной стоимости на мультиграфе. Но, во-первых, неизвестно как добавить три типа ограничений (т.е. не то что неизвестно, а очень много дуг получается однако), во-вторых производительность еще хуже, если решать тем же MatLab. Кто знает похожие программы с исходниками, или алгоритмы, или темы, или учебники (подойдет на англ. или немецком)? В каком направлении копать? Стыдно было постить здесь такую задачу (учитывая, насколько серьезные вопросы здесь задаются), но уже несколько суток почти непрерывно сижу, не знаю что и делать. Вроде чуются еще какие-то способы решения, но единственно полный в плане описания задачи - в лоб с бинарными переменными. Очень прошу извинить, если не тот раздел, хотел запостить в разделе "Численные методы и оптимизация", но сижу с сотового и не могу половину форума открыть.

 Профиль  
                  
 
 Re: Помогите, пожалуйста, с BIP задачей
Сообщение28.02.2011, 13:57 


24/02/11
2
Спасибо, просьба закрыть тему. Нашел новый способ решения задачи, которому хватает и однопоточного lp_solve.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group