TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

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

Резултати

Намерени 11 подобни публикации

Търсене: #partei

当前筛选 #partei清除筛选
Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39467 · 15.05.2022 г., 23:19

#Elezioni#Germania#Regionali#NRW Proiezione dei risultati definitivi di Wahlrecht: #CDU|EPP: 35,7% #SPD|S&D: 26,7% #Grüne|G/EFA: 18,2% #FDP|RE: 5,9% #AfD|ID: 5,4% #Linke|LEFT: 2% #TIER|LEFT: 1,1% #PARTEI|NI: 1,1% #DieBasis|No-vax: 0,8% #FW|RE: 0,7% #Volt|G/EFA: 0,6% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38819 · 08.05.2022 г., 19:39

#Elezioni#Germania#Regionali#SchleswigHolstein 2803 sezioni su 2910: #CDU|EPP: 43,5% #Grüne|G/EFA: 18,2% #SPD|S&D: 15,9% #FDP|RE: 6,4% #SSW|G/EFA: 5,8% #AfD|ID: 4,4% #Linke|LEFT: 1,6% #DieBasis|No-vax: 1,1% #PARTEI|NI: 0,7% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,3% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #Humanisten|Progressisti: 0,1% #PfG|Ricerca medica: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38818 · 08.05.2022 г., 18:34

#Elezioni#Germania#Regionali#SchleswigHolstein 2416 sezioni su 2910: #CDU|EPP: 43,4% #Grüne|G/EFA: 18,2% #SPD|S&D: 15,7% #FDP|RE: 6,4% #SSW|G/EFA: 5,9% #AfD|ID: 4,6% #Linke|LEFT: 1,7% #DieBasis|No-vax: 1,1% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,3% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #Humanisten|Progressisti: 0,1% #PfG|Ricerca medica: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38817 · 08.05.2022 г., 18:15

#Elezioni#Germania#Regionali#SchleswigHolstein 2181 sezioni su 2910: #CDU|EPP: 43,5% #Grüne|G/EFA: 18% #SPD|S&D: 15,7% #FDP|RE: 6,4% #SSW|G/EFA: 5,9% #AfD|ID: 4,7% #Linke|LEFT: 1,7% #DieBasis|No-vax: 1,2% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #Humanisten|Progressisti: 0,1% #PfG|Ricerca medica: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38816 · 08.05.2022 г., 17:45

#Elezioni#Germania#Regionali#SchleswigHolstein 1628 sezioni su 2910: #CDU|EPP: 43,6% #Grüne|G/EFA: 17,8% #SPD|S&D: 15,7% #FDP|RE: 6,3% #SSW|G/EFA: 5,9% #AfD|ID: 4,7% #Linke|LEFT: 1,7% #DieBasis|No-vax: 1,2% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #Humanisten|Progressisti: 0,1% #PfG|Ricerca medica: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38815 · 08.05.2022 г., 17:38

#Elezioni#Germania#Regionali#SchleswigHolstein 1381 sezioni su 2910: #CDU|EPP: 43,9% #Grüne|G/EFA: 17,5% #SPD|S&D: 15,6% #FDP|RE: 6,4% #SSW|G/EFA: 5,8% #AfD|ID: 4,9% #Linke|LEFT: 1,7% #DieBasis|No-vax: 1,2% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #Humanisten|Progressisti: 0,1% #PfG|Ricerca medica: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38814 · 08.05.2022 г., 17:31

#Elezioni#Germania#Regionali#SchleswigHolstein 1135 sezioni su 2910: #CDU|EPP: 44% #Grüne|G/EFA: 17,3% #SPD|S&D: 15,5% #FDP|RE: 6,4% #SSW|G/EFA: 5,8% #AfD|ID: 4,9% #Linke|LEFT: 1,7% #DieBasis|No-vax: 1,2% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #PfG|Ricerca medica: 0,1% #Humanisten|Progressisti: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38811 · 08.05.2022 г., 17:13

#Elezioni#Germania#Regionali#SchleswigHolstein 727 sezioni su 2910: #CDU|EPP: 45% #Grüne|G/EFA: 16,2% #SPD|S&D: 15,2% #FDP|RE: 6,6% #SSW|G/EFA: 6% #AfD|ID: 5,1% #Linke|LEFT: 1,6% #DieBasis|No-vax: 1,2% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,4% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,1% #PfG|Ricerca medica: 0,1% #Humanisten|Progressisti: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38809 · 08.05.2022 г., 16:58

#Elezioni#Germania#Regionali#SchleswigHolstein 404 sezioni su 2910: #CDU|EPP: 46,7% #Grüne|G/EFA: 14,8% #SPD|S&D: 14,7% #FDP|RE: 6,7% #SSW|G/EFA: 5,9% #AfD|ID: 5,3% #Linke|LEFT: 1,5% #DieBasis|No-vax: 1,3% #PARTEI|NI: 0,8% #TIER|LEFT: 0,7% #FW|RE: 0,6% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #Zukunft|Centro: 0,2% #PfG|Ricerca medica: 0,1% #Humanisten|Progressisti: 0,1% @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38803 · 08.05.2022 г., 16:42

#Elezioni#Germania#Regionali#SchleswigHolstein 125 sezioni su 2910: #CDU|EPP: 48,9% #Grüne|G/EFA: 13,7% #SPD|S&D: 13,3% #FDP|RE: 7,1% #AfD|ID: 5,9% #SSW|G/EFA: 5,5% #Linke|LEFT: 1,3% #DieBasis|No-vax: 1,3% #PARTEI|NI: 0,7% #FW|RE: 0,7% #TIER|LEFT: 0,7% #Piraten|G/EFA: 0,4% #Volt|G/EFA: 0,3% #PfG|Ricerca medica: 0,1% #Humanisten|Progressisti: 0,1% #Zukunft|Centro: 0% @UltimoraPolitics

Libertà è ragione

@libertaeragione · Post #3993 · 09.10.2023 г., 09:08

#Elezioni#Germania#Regionali#Assia Risultati definitivi: Affluenza: 66% #CDU|EPP: 34,6% #AfD|ID: 18,4% #SPD|S&D: 15,1% #Grüne|G/EFA: 14,8% #FDP|RE: 5% #FW|RE: 3,5% #Linke|LEFT: 3,1% #TIER|LEFT: 1,5% #Volt|G/EFA: 1% #PARTEI|NI: 0,8% #dieBasis|No-vax: 0,5% #Piraten|G/EFA: 0,3% #V3|Animalisti: 0,3% #Humanisten|Umanisti di centro: 0,2% #ABG|Anti-corruzione: 0,2% #ÖDP|G/EFA: 0,2% #Klimaliste|Verdi: 0,2% #Verjüngungsforschung|Pro-ricerca sulla medicina contro l'invecchiamento: 0,1% #APPD|Anarchici satirici: 0,1% #DKP|Estrema sinistra: 0,1% #DNM|Centro: 0% @OsservatorioEsteri