Блог о математике и бизнесе Алексея Тарасова
970 subscribers
95 photos
9 videos
2 files
95 links
Пишу о матмоделях и прикладных задачах.

Сотрудничество: @tarasov_math
Сайт http://tarasov.expert
加入频道
#рецензия #алгоритм #opensource
Когда-то давно мне рекомендовали алгоритм маршрутизации автомобилей LKH-3 http://webhotel4.ruc.dk/~keld/research/LKH-3/ реализация классической эвристики Лина Кернигана.
Оказалась кривой опенсорсной поделкой.

Потеряли время, деньги, срочно переезжаем на http://vroom-project.org/ тоже опенсорс, но гораздо приличней.
👍16🔥7
СТОЛП (Стандартные Технологии Организации Линейного Программирования) или
Быстрый поиск ошибки в задаче ЦЛП.
#алгоритмы #mip #opensource

При разработке ЦЛП есть такая проблема, что их очень неудобно отлаживать. Нельзя дебаггером пройтись и понять, в каком уравнении сделал ошибку.
При написании модели они часто оказываются несовместными (infeasible), и надо искать, где именно произошла ошибка. У коммерческих солверов для этого есть механизм поиска минимального набора несовместных ограничений. Но это очень неудобная штука. Они там просто в каждое ограничение добавляют слак переменную, и дальше минимизируют их набор. Задача оказывается почти всегда сильно более сложной, и я почти никогда не дожидался, когда она доработает.

А я придумал другой подход. Я просто беру lp файл и ищу какое-нибудь несовместное ограничение бинарным поиском. То есть удаляю половину ограничений и смотрю есть ли решение или нет. Если нет, удаляю половину оставшихся ограничений и т.д.

Этот метод оказывается на практике очень быстрым и полезным. Задачки обычно считаются моментально и можно быстро найти ограничение, на котором падает и это часто наводит на мысли.

Я пошел дальше и сделал функцию, которая это делает за меня автоматически. Увидеть как программа сама находит некорректное ограничение, это просто кайф❤️‍🔥.

А потом я пошел еще немного дальше и сделал свободную библиотеку СТОЛП, куда положил эту функцию.
https://gitlab.com/tarasov.alexey/stolp/

Если кто так же настрадался копаясь в инфизиблах, милости прошу использовать. Буду очень рад, если эта штука еще кому-то пригодится.

P.S. У меня есть еще разные ноухау, которыми я планирую делиться и выкладывать их в этот проект. По мере свободного времени буду это делать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍7👏3
#алгоритмы #mip #opensource
Месяц назад сделал библиотечку Столп. И она реально работает! Вообще инфизиблы валятся не так уж и часто, в основном на этапе разработки прототипа. Но вот сейчас клиент гоняет алгоритм на грязных живых данных и регулярно прилетают инфизблы. Какой же кайф, когда тебе даже делать ничего не надо, а ошибка сама находится. Как я раньше без неё жил. Макс, ты прав, её надо было сделать еще 5 лет назад, кучу крови вы сэкономила :)

Не всегда правда работает моментально, иногда тормозит. И принты надо чуть чуть подчистить, а то иногда задумывается и не ясно что делает. Но пока максимум 2-5 минут приходится ждать а потом видно что делом занята библиотечку.
👍4🏆41🔥1👏1
#текучка #opensource #сотрудники
О пользе опенсорса.

Я делал библиотеку Столп, чтобы повышать репутацию в сообществе и таким образом получать резюме и новых сотрудников.
Метод и правда работает, вчера новый человек вышел на работу!! 🍾
Нас уже 8 человек, правда не все фултайм. Задач перегруз, так что надо продолжать расти.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2