@PaulsNote · Post #672 · 01.03.2021 г., 18:32
“死神与少女” 这个浪漫主义动机也被 #Schubert 写成了弦乐四重奏
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #1084 · 9.04
В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость. Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных. Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора. !!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты. ________________________________________ Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации. Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн. К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд. На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру. Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится. Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего. #dev
Hashtags
Търсене: #schubert
@PaulsNote · Post #672 · 01.03.2021 г., 18:32
“死神与少女” 这个浪漫主义动机也被 #Schubert 写成了弦乐四重奏
Hashtags
@PaulsNote · Post #1133 · 24.03.2026 г., 01:59
舒伯特 - 即兴曲 - D.935 No.3 Sokolov索神演奏 今天上班时突然想起这首变奏,遂翻出来听。 #Schubert#Romantic https://youtu.be/QRV9TWBSWZk
@PaulsNote · Post #1025 · 25.10.2024 г., 21:28
舒伯特 - 钢琴奏鸣曲 D.959 第二乐章 走吧,回到那个充满温暖、光和鲜花的地方。 这是你最爱的曲子。 我常批判你,有舒伯特的凛冬,却没有舒伯特的乐观。 没能及时抓住你的手,我很抱歉。 回去吧,到海里,那里很自由。 你想要的自由。 #Schubert#Romantic https://youtu.be/Il6-lZYDpqY
@PaulsNote · Post #837 · 19.04.2022 г., 18:08
Radu Lupu🕯 #schubert#romantic https://youtu.be/B6LmegAYheg
@PaulsNote · Post #655 · 09.02.2021 г., 02:59
舒伯特 - 匈牙利小调 D.817 古钢琴演奏 #Schubert#Romantic https://youtu.be/kGCM0kA5KyA
@PaulsNote · Post #641 · 17.01.2021 г., 04:22
舒伯特 菩提树(节选自冬之旅) #Schubert#Romantic https://youtu.be/NKC2Q2ZEnVE
@PaulsNote · Post #553 · 18.09.2020 г., 01:25
Sokolov演奏舒伯特C小调即兴曲,D.899 第一首 他音色控制拿捏好稳....是会钢琴的魔法吗! #Schubert#romantic https://youtu.be/AJN-JnBBEGE
@PaulsNote · Post #477 · 26.06.2020 г., 06:16
舒伯特即兴曲 D935 第三号 布伦德尔演奏 #Schubert#Romantic https://youtu.be/xpXQNuce7jE
@PaulsNote · Post #436 · 17.05.2020 г., 08:10
舒伯特 - 第十八钢琴奏鸣曲,第一乐章 D.894 晚上和朋友讨论的时候,聊到Leonskaja。我觉得她弹琴很干脆,而且执行想法很完美,丝毫没有拖泥带水。给人一种凉拌拍黄瓜一样的清爽(bushi #Schubert#Romantic https://youtu.be/eQ2bmdLzaSI
@PaulsNote · Post #383 · 31.03.2020 г., 01:25
王羽佳大魔王的舒伯特大魔王😂😂我就是从这里开始喜欢王羽佳的。太凶悍了…… #Schubert#Romantic https://youtu.be/4_BmRekeJ8A
@PaulsNote · Post #292 · 24.01.2020 г., 17:54
舒伯特: 流浪者幻想曲 各位过年快乐鸭! #Schubert#Romantic https://youtu.be/rBtoXfvG4P8
@PaulsNote · Post #249 · 03.01.2020 г., 17:23
直接晚安吧 舒伯特 第二钢琴三重奏 第三乐章 #Schubert#Romantic https://youtu.be/3A9YvvCrBkY