В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость.
Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных.
Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора.
!!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты.
________________________________________
Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации.
Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн.
К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд.
На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру.
Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится.
Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего.
#dev
Da Facebook:
Avete depenalizzato il falso in bilancio.
Avete eliminato il reato d’abuso d’ufficio.
Avete distrutto la spazza corrotti, rendendo impossibile perseguire il reato di traffico di illecito di influenze.
Avete bloccato le intercettazioni per evitare la galera ai delinquenti.
Avete limitato la responsabilità dei politici e degli amministratori al trenta per cento del danno erariale arrecato per colpa grave e comunque non oltre due annualità.
Avete fissato cinque giorni di preavviso per gli interrogatori di garanzia dando ai delinquenti la possibilità di scappare, far sparire le prove e persino minacciare chi li ha denunciati.
Bisogna dare due ore di preavviso per le perquisizioni, così i delinquenti possono eliminare le prove anche all’ultimo minuto.
Avete reso impunibili tantissimi reati in assenza di specifica querela di parte per cui un poliziotto non può neppure arrestare un borseggiatore o chi fa furti con destrezza.
È stato eliminato il reato di concorso esterno in associazione mafiosa.
E la Meloni ci viene a dire che se vincesse il #NO spacciatori e delinquenti vari sarebbero in libertà????
Peraltro, aggiungo sul piano tecnico, la legge di revisione costituzionale 30 ottobre 2025 ed oggetto del referendum oppositivo, non tocca in alcun modo la funzione giurisdizionale, essendo una revisione ordinamentale.
🔎 $1,000 ACCOUNT MANAGEMENT PACKAGE IS LIVE‼️
Are you tired of having your money stare at you in the bank without getting tangible returns? Are interested in making your money work for you or perhaps wanting to gain returns on investment with zero risks?
Then join our account management package today and smile to the bank in 30 days, 100% Guaranteed.
⚠️BENEFITS/REQUIREMENTS INCLUDES;
✔️$1,000 Minimum Deposit
✔️50% Return on Investment within 30 Trading Days
✔️We aim to achieve a whopping 50% Profit for our Clients 💯 Guaranteed
✔️Profit Splitting. Clients keeps 60% of the Profit and you share 40% of the profits to Fx Gold Hub.
✔️10% ($100) Upfront Payment
✔️You Also Get Free 90Days Access to Fx Gold Hub Trading Club.
✔️Send Us Your Current MT4/5 Funded $1,000 Account Details With Any Broker of Your Choice.
✔️Proper Risk/Money Management is Assured.
Slow & Steady wins the race in the forex market. With +10Years experience you're absolutely in safe hands. Our results speaks for itself.
📌NOTE;
🔺We aim to achieve 50% ($500) Return on Investment within 30 days. Keyword "within" 30 days, which means it could be achieved way less than 30 days
🔺Limited Slots Available: We would only be accepting just 50 Accounts. Strictly based in first come first serve basis. #No cheating
Join in Today!!! For an exclusive experience as you already know our customer support channels are always available to serve your every query, questions and lots more!!!
🔎 $1,000 ACCOUNT MANAGEMENT PACKAGE IS LIVE‼️
Are you tired of having your money stare at you in the bank without getting tangible returns? Are interested in making your money work for you or perhaps wanting to gain returns on investment with zero risks?
Then join our account management package today and smile to the bank in 30 days, 100% Guaranteed.
⚠️BENEFITS/REQUIREMENTS INCLUDES;
✔️$1,000 Minimum Deposit
✔️50% Return on Investment within 30 Trading Days
✔️We aim to achieve a whopping 50% Profit for our Clients 💯 Guaranteed
✔️Profit Splitting. Clients keeps 60% of the Profit and you share 40% of the profits to Fx Gold Hub.
✔️10% ($100) Upfront Payment
✔️You Also Get Free 90Days Access to Fx Gold Hub Trading Club.
✔️Send Us Your Current MT4/5 Funded $1,000 Account Details With Any Broker of Your Choice.
✔️Proper Risk/Money Management is Assured.
Slow & Steady wins the race in the forex market. With +10Years experience you're absolutely in safe hands. Our results speaks for itself.
📌NOTE;
🔺We aim to achieve 50% ($500) Return on Investment within 30 days. Keyword "within" 30 days, which means it could be achieved way less than 30 days
🔺Limited Slots Available: We would only be accepting just 50 Accounts. Strictly based in first come first serve basis. #No cheating
Join in Today!!! For an exclusive experience as you already know our customer support channels are always available to serve your every query, questions and lots more!!!
CLICK BELOW👇
На сайте канала ARTE на несколько недель выложили серию документальных роликов Iran #No Filter. Среди них — проект фотожурналистки Нафисе Мутлак «Отцы и дочери»: она посвятила ему два года, — объездила весь Иран, предлагая отцу и дочери сфотографироваться вместе, даже если реальная дистанция между ними — огромна.
Женщины из Афганистана в стране и за ее пределами записывают видео, на которых они поют. Это знак протеста против новых законов талибов, запрещающих женщинам выступать на публике.
Недавно талибы официально обязали женщин полностью закрывать лицо и тело, а также запретили им выступать на публике — петь или говорить на публике с микрофоном и даже громко разговаривать в общественных местах. Якобы голоса женщин не должен слышать никто, кроме их близких. Нарушители могут быть задержаны и наказаны способом, который должностные лица Талибана сочтут целесообразным.
Пресс-секретарь управления ООН по правам человека Равина Шамдасани заявила, что этот закон полностью лишает женщин Афганистана автономии и превращает их в “безликие, безгласные тени”.
Но женщины не согласны быть тенями. Не согласны с тем, что их голос, их тела, их лица им не принадлежат. Афганки начали записывать видео, на которых они поют, и публикуют их с хэштегами “#My voice is not forbidden” (Мой голос не запрещен) и “#No to Taliban” (Нет Талибану). Они выбирают песни, в которых поется о протесте и женской силе. “Никакая команда, система или мужчина не могут закрыть рот афганской женщине”, — заявила 23-летняя девушка после публикации своего видео, где она поет на улице. “Я не та слабая ива, что дрожит на каждом ветру, — звучат слова песни, — Я из Афганистана”.
Почему это важно в контексте прав женщин? представьте себе, как громко, сильно и красиво звучит голос женщин там, где он задавлен максимально. Солидарность женщин в мире — это путь к тому, чтобы равноправие побеждало мизогинию везде. Поэтому наш голос — в поддержку афганских женщин.
🚨🤡#NO#ESTABA PRESO
EDTABA DE PARRANDA
Atención!
Apareció Diego Omar Suárez, el "Michelo" ... tranquilito, en modo "San Michelo" hablando de paz y amor, de transición y reconciliación ...
Está como raro, verdad?
A cuantos tendrá en frente al grabar ese video ?
https://x.com/SavinoBalzano/status/2037482713611923522?s=20
COSTITUZIONE: SEMPRE O MAI
Trovo intollerabile chi prova a sostenere che il voto dei giovani sia dettato dall’inconsapevolezza: avrebbero votato #No per istinto, sospinti dall’ancora viva animosità delle piazze in difesa di Gaza, senza aver mai letto la #Costituzione.
Non c’è nulla di democratico in questo approccio: esattamente come è infantile e risibile sostenere che a non aver capito nulla sia chi ha votato #Sì.
Ci si riempie la bocca della retorica della Costituzione, si sostiene di averla addirittura salvata, e poi la si tradisce alla base: nella totale assenza di rispetto per chi la pensa diversamente. I cortocircuiti di un dibattito pubblico a dir poco scadente: roba da stadio.
E questa retorica dei salvatori della Costituzione, diciamocelo, ci ha abbondantemente rotto i coglioni: proprio non si può sentire.
Quelli che hanno sventrato la Carta con la riforma del Titolo V del 2001 oggi ci vengono a fare la paternale. Con la Costituzione ci si sono letteralmente puliti il deretano: decine e decine di volte.
L’hanno fatto, ad esempio, nel 1999, con la riforma Bindi della sanità: la prima ad aver infranto il mito della sanità pubblica e universalistica senza se e senza ma. Quella che introduceva le Aziende Sanitarie Locali, sostituendo le compiante Unità Sanitarie Locali, iniettando la prima vera dose di neoliberismo nella gestione della sanità italiana.
Tra i recenti crociati per la Costituzione c’erano pure quelli che, per primi, nel ’97, violarono il principio del lavoro a tempo indeterminato, introducendo contratti drammaticamente precarizzanti, a partire dal lavoro interinale (oggi somministrazione). Non mi pare fosse il modo migliore di onorare i principi costituzionali dell’Italia. Che poi sono gli stessi (non i soli, ovviamente) che hanno picconato l’articolo 18 dello Statuto dei Lavoratori: sia sostenendo le schifezze proposte da Elsa Fornero, sia quelle del Jobs Act di Renzi.
Sono gli stessi che hanno introdotto il pareggio di bilancio in Costituzione, con una riforma del 2012 voluta dal governo Monti. Dinanzi ai diritti universali riconosciuti dalla Costituzione più bella del mondo (come stucchevolmente ripetono), mettevano i parametri economici di Bruxelles. Gli stessi parametri imposti dai vessilliferi del neoliberismo eurounitario, a partire dal padre della sinistra italiana: Romano Prodi.
Regole nefaste, che avrebbero ovviamente demolito lo stato sociale italiano: dov’era il sacerdote della Costituzione, Pierluigi Bersani, in quegli anni? A chi reggeva il moccolo? Taccia!
E poi ci sono i più puri di tutti, quelli che durante la crisi sanitaria ci impedivano di prendere il caffè al bar o persino di andare a lavorare, e lo facevano ricorrendo ad atti amministrativi — i DPCM — secondari e più deboli di quello legislativo. Peraltro legittimandooli nemmeno con una legge, ma con un decreto-legge: DPCM su decreto-legge. Il massimo dell’aggiramento parlamentare per limitare diritti fondamentali della persona garantiti dalla Costituzione.
E oggi si presentano come i cavalieri senza macchia e senza paura in difesa della legge sulle leggi. Su quali basi scientifiche poi si assumessero certe determinazioni, stendiamo un velo pietoso: ci sarebbe da ridere…
Tra quelli che hanno salvato la Costituzione, poi, ci sono anche gli stessi che con l’articolo 11 hanno acceso il fuoco nel camino: recentemente e negli anni addietro. Complici di guerre su guerre, dalla Serbia all’Afghanistan, all’Iraq, alla Libia, all’Ucraina, a Gaza.
Il voto degli italiani si rispetta, punto e basta: onore a chi si è battuto e ha vinto la sua battaglia. Come rispetto si deve a chi l’ha persa. Perché è la Costituzione, coi suoi alti principi democratici, a indicarci questa via: nell’Assemblea costituente sedevano persone che nutrivano ideali spesso opposti, ma che si rispettavano.
(...)
Fino a quel momento, le vostre prediche potete ficcarvele su per il culo.
CONTINUA SU X
https://x.com/SavinoBalzano/status/2036746379003941273?s=20
Non ci avevamo capito nulla: riflessioni su riflessioni, analisi su analisi, e la verità era sotto il nostro naso.
Perché il #Sì ha perso il #referendum? Ovvio: la variante Parenzo. L’uovo di Colombo!
Moltissimi italiani, nel segreto dell’urna, soli con loro stessi, saranno stati colti dal più atroce dei dilemmi, dal più carsico degli interrogativi: posso io votare come David Parenzo? E in molti non avranno avuto lo stomaco di superare quel drammatico impedimento.
Così si spiega tutto: lo stravolgimento dei sondaggi, il ribaltamento degli equilibri, la straordinaria vittoria del #No.
Giorgia, consolati: non è colpa tua. Nessuno avrebbe potuto alcunché contro l’ineluttabilità parenziana. Nessuno.
L’ho spiegato ieri, ai maledetti microfoni di Giuseppe Cruciani, ospite della più disgraziata di tutte le trasmissioni radiofoniche: La Zanzara.