В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость.
Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных.
Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора.
!!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты.
________________________________________
Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации.
Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн.
К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд.
На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру.
Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится.
Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего.
#dev
Lexus NX — очень логичный и практичный выбор в наше время. 2-х литровый мотор на 150 лс, передний или полный привод. Внутри и снаружи 100% Lexus, очень похож на RX, только поменьше.
На выбор в Major Expert сейчас 9 машин — 2015-2021 года, пробеги 50-200 тыс км. Цены доступные — от 2,94 до 4,55 млн руб (это за машину 21 года с пробегом в 50 тыс км, на полном приводе)
Подробности +7 (495) 089-05-39
или у Кирилла @KirStar96
#lexus
Lexus ES — обвешан наградами и призами. «Luxury Car Best Buy 2023», «Top Safety Pick+ 2022», высшие места в разнообразных рейтингах по надёжности, ценности и качеству.
«Люксовая Camry» отличается от обычной материалами отделки, настройками подвески, мультимедиа. Это уже не бизнес, а премиум.
В нашем салоне сейчас 3 автомобиля с пробегом на выбор. 2016-2021 гв, 2-2,5 литровые бензиновые моторы, передний привод. Пробеги 61-97 тыс км, для них это немного. Цены — 2,97-4,12 млн руб.
Звоните +7 (495) 089-05-39
#lexus
Новый LEXUS RX300 в Major Auto - отличный вариант на каждый день. Высочайшая надежность и комфорт.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,53 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 в Major Auto - надежный и современный. Не игрушка, а набор проверенных технологий в элегантной упаковке.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus ES в 2026 году - только гибрид или электромобиль. ES350h - 4-х цилиндровый бензиновый мотор + электромотор, всего 243 лс, передний или полный привод.
Две электрические версии - ES350е (220 лс, передний привод, разгон 7,7 сек) и ES500е (338 лс, полный привод, 5,4 сек).
ES 2026 в длину вырос на 15 см и преобразился внутри и снаружи. Снаружи к лучшему, внутри в сторону простых прямоугольных форм, на любителя.
Нравится - 👍
Не нравится - 👎
Где ДВС - 🤔
#lexus
Lexus LM - его выбирают вместо представительского LS. Потому что комфортнее седана. Идеально подойдет для города, для длинных поездок и справится с перевозкой детей в школу.
Сейчас такая машина, 2023 года выпуска, с пробегом 40 тыс км, есть в продаже в Major Expert. В идеальном состоянии, покупался и обслуживался у нас.
292 лс, полный привод. Подогрев и вентиляция всех сидений, перегородка между пассажирским салоном и водителем, подогрев и вентиляция всех сидений (во втором ряду - капитанские с электрорегулировками), доводчики дверей, 3-х зонный климат, камеры 360, обогрев руля, комфортная подвеска.
Цена 14,6 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus строил LS с 1990 года, продажи падали по мере того, как кроссоверы убивали седаны. Сам Lexus говорит, что место LS занял минивэн LM. 2026 год станет для LS последним.
Выходит прощальная лимитка в 250 экземпляров - Heritage Edition. Специальные диски 20", полный привод, V6 3,4 литра битурбо на 416 лс, особая отделка.
LS продавался в России довольно средне, но в больших седанах есть своя прелесть, грустно что их становится меньше.
Вообще не жаль - 👍
Немного все-таки жаль - 👎
#lexus
Lexus LX - большой, комфортный и мощный. Максимум от японского премиум бренда. Такой, 2020 гв, с пробегом всего 28 тыс км есть сейчас в Major Expert.
5,7 литровый V8 на 367 лс и 530 Нм, полный привод, 8-и ступенчатая АКПП, разгон до сотни за 7,7 секунд. Удобен в городе и особенно на трассе.
Без проблем по технике и без окрасов.
Цена 12,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Еще одно новое поступление - LEXUS LX 2024 гв, с пробегом всего 22 км, в продаже в Major Expert.
Полный привод, 10-и ступенчатая АКПП, 3,4 л бензиновый турбомотор на 415 лс и 650 лс, разгон до сотни за 6,9 секунд.
Один владелец, юр. лицо, возможен возврат НДС, машина куплена в Major Auto, абсолютно прозрачная история эксплуатации.
Цена - 18,2 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS RX 350 - японский премиум на каждый день. Известный, надежный, качественный и понятный.
На видео автомобиль 2023 года выпуска с пробегом 37 тыс км. Без проблем по технике и полностью в родном окрасе.
Полный привод, бензиновый двигатель 2,4 л на 249 лс, 8-и ступенчатая АКПП, 7,6 секунд до сотни (быстрее старых атмосферных моторов). Вентиляция и подогрев передних сидений, датчики света, дождя и давления в шинах, камера заднего вида, колеса 19 дюймов.
Цена 8,2 млн руб
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 - космический снаружи и внутри. Технологичный, но не игрушечный. В нем всё собрано не все возможное (лишнее), а всё необходимое. Каждая функция продумана и работает на отлично.
По технике - 2-х литровый турбо мотор, 248 лс, полный привод и 8-и ступенчатая АКПП. Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,73 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS LX600 2024 года выпуска, с пробегом всего 20 тыс км, есть сейчас в Major Expert. Абсолютно никаких проблем по технике и полностью в родном окрасе.
Флагман бренда. Полный привод, бензиновый 3,5 л турбомотор на 415 лс и 650 Нм, 10-и ступенчатая АКПП, разгон до сотни за 6,9 сек. Богатейшая комплектация с вентиляцией сидений, обогревом руля и лобового стекла, люком, темным потолком, дисками 22 дюйма и многим другим. Абсолютный комфорт, надежность и динамика.
Цена 15,465 млн руб.
Менеджер Кирилл @KirStar96 готов ответить на все ваши вопросы.
#lexus