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

Резултати

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

Търсене: #conscience

当前筛选 #conscience清除筛选
Freedom Flotilla Coalition

@FFC_official_channel · Post #293 · 28.05.2025 г., 05:14

The Freedom Flotilla Coalition invites you to join us from May 30th to June 1st in Catania, Sicily, Italy, as we stand together in solidarity to launch our new mission, the ‘Madleen’. The summit will be happening in Porto di San Giovanni li Cuti, where we will stand in solidarity with the Palestinian people in a series of panels, cultural programs, and community gatherings. The ‘Madleen‘ will sail to break Israel's illegal siege as we bring humanitarian aid, hope, and solidarity to Gaza. The world stands united against the deliberate starvation, genocide, Apartheid, colonial occupation, and the ethnic cleansing of the Palestinian people. Join us! Let's sail in spirit and solidarity. Free Palestine! #FreedomFlotilla#BreakIsraelsSiege#EndTheBlockade#StandWithGaza#AllEyesOnDeck#Madleen#Conscience

Freedom Flotilla Coalition

@FFC_official_channel · Post #307 · 29.05.2025 г., 09:52

Meet just some of the panelists, volunteers and supporters that will join us as we launch the ‘Madleen’ that will sail in a matter of days to break Israel's illegal siege of Gaza. We urge media, press and supporters to join us in Catania, Sicily - your coverage and solidarity is critical in helping ensure our safety. March with us. Make noise with us. Show the world that Europe will not be silent. Share our content. Make it impossible for every politician, for the European Union and media to ignore what is happening in Gaza. Make it impossible for them to ignore the voice of the people, to ignore this mission, and to ignore this moment. #BreakTheSiege#BreakIsraelsSiege#AllEyesOnDeck#EndTheBlockade#StandWithGaza#AllEyesOnDeck#Madleen#Conscience

Freedom Flotilla Coalition

@FFC_official_channel · Post #352 · 02.06.2025 г., 02:37

Meet the 12 volunteers from around the world, who are sailing on 'Madleen' in the Freedom Flotilla Coalition's steadfast mission to break Israel's illegal siege of Gaza and establish a people's sea corridor: Baptiste Andre 🇫🇷 Greta Thunberg 🇸🇪 Şuayb Ordu 🇹🇷 Mark van Rennes 🇳🇱 Omar Faiad 🇫🇷 Pascal Maurieras 🇫🇷 Reva Viard 🇫🇷 Rima Hassan 🇫🇷 Sergio Toribio 🇪🇸 Thiago Ávila 🇧🇷 Yanis Mhamdi 🇫🇷 Yasemin Acar 🇩🇪 Let their names be known, as they hold the people's hearts and courage, and carry solidarity to Palestinians in Gaza. #AllEyesOnDeck#Madleen#Conscience#BreakTheSiege#EndOccupation#FreePalestine#FreedomFlotilla

Freedom Flotilla Coalition

@FFC_official_channel · Post #821 · 08.10.2025 г., 04:49

The Israeli military has attacked our flotilla. We call on all our governments and people of the world to condemn Israel’s crimes against humanity, and to demand the immediate release of all abducted crew. Our governments must end Israel’s illegal blockade and ongoing genocide of Gaza. 🚨 Take action NOW: •Tag, email, and call your Ministry of Foreign Affairs and elected officials • Join or organise a protest in your city • Boycott Israeli products and companies • Pressure your government to enforce an arms embargo and diplomatic sanctions on Israel • Pressure institutions and your work place to divest from and sanction Israel • Use the 'RISEFOR' campaign to pressure your government in 2 minutes • Donate or join the next wave of flotilla - we will not stop until Palestine is free. Share this call widely on social media and with your network #BreakIsraelsSiege#ActNow#Conscience#GazaFreedomFlotilla#ThousandMadleensToGaza#FreePalestine

Freedom Flotilla Coalition

@FFC_official_channel · Post #282 · 22.05.2025 г., 08:57

We will sail. Since our ship was attacked on May 2, Israel has killed nearly 2,000 more Palestinians. Meanwhile, 14,000 babies now face imminent death from hunger due to Israel’s deliberate starvation campaign. This is the cost of global impunity. But we refuse to back down. The ‘Madleen’ will sail soon. She may be small, but her mission is powerful: To break the silence. To challenge Israel’s illegal blockade through nonviolent direct action. To stand firmly and unapologetically, with Gaza. JOIN US. Registrations are open for experienced and committed captains, crew, volunteers, and boat owners. You will be vetted and contacted only if successful: https://bit.ly/joinfreedomflotillaform To those who can help us on land, sign our petition for an investigation into the attacks, demand your governments ensure safe passage for the 'Madleen’, and share this journey - because the more eyes on us, the safer we are. #WeWillSail#Madleen#Conscience#FreeGaza#EndTheSiege#AllEyesOnDeck#StopArmingIsrael

Freedom Flotilla Coalition

@FFC_official_channel · Post #279 · 21.05.2025 г., 08:19

Israel’s attack on an unarmed humanitarian vessel in European waters, and the government silence that followed, is part of a wider pattern: 19 months of Israel's relentless violence in Gaza and 77 years of impunity across occupied Palestine. While Malta’s newly released report confirms what we already knew, there has still been no condemnation issued. No investigation. No accountability. As we prepare to sail again with ‘Madleen’, we do so knowing our ships remain targets, not only of Israeli aggression but of global inaction. We call on governments to guarantee safe passage, on media to report the truth, and on people everywhere to demand an end to Israel’s siege and ongoing genocide: – Share this post and tag the EU Commission and your MEPs – Sign our petition to demand an independent investigation – Demonstrate at weapons manufacturers – Keep #AllEyesOnDeck as ‘Madleen’ sails #BreakTheSiege#EndTheBlockade#StandWithGaza#StandWithPalestine#EU#Malta#Conscience