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

Резултати

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

Търсене: #issues

当前筛选 #issues清除筛选

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2093, while of corporate bonds totaled 30 as of 18.11.2022. The aggregate volume of issued shares totaled UZS 165 622.4 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2092, while of corporate bonds totaled 30 as of 11.11.2022. The aggregate volume of issued shares totaled UZS 165 616.4 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2091, while of corporate bonds totaled 30 as of 04.11.2022. The aggregate volume of issued shares totaled UZS 165 616.2 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2090, while of corporate bonds totaled 30 as of 28.10.2022. The aggregate volume of issued shares totaled UZS 165 616.2 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2085, while of corporate bonds totaled 30 as of 21.10.2022. The aggregate volume of issued shares totaled UZS 164 689.5 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2084, while of corporate bonds totaled 30 as of 14.10.2022. The aggregate volume of issued shares totaled UZS 164 619.5 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2083, while of corporate bonds totaled 30 as of 07.10.2022. The aggregate volume of issued shares totaled UZS 164 609.8 billion, while of corporate bonds totaled UZS 1 011.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2082, while of corporate bonds totaled 29 as of 30.09.2022. The aggregate volume of issued shares totaled UZS 164 597.6 billion, while of corporate bonds totaled UZS 1006.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2081, while of corporate bonds totaled 29 as of 23.09.2022. The aggregate volume of issued shares totaled UZS 164 397.9 billion, while of corporate bonds totaled UZS 1006.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2079, while of corporate bonds totaled 27 as of 16.09.2022. The aggregate volume of issued shares totaled UZS 163 200.5 billion, while of corporate bonds totaled UZS 996.4 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2078, while of corporate bonds totaled 26 as of 09.09.2022. The aggregate volume of issued shares totaled UZS 163 200.4 billion, while of corporate bonds totaled UZS 993.9 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

End-of-week depositary statistics OVERVIEW OF SECURITIES ISSUES SAFEKEPT BY THE CENTRAL SECURITIES DEPOSITORY The aggregate number of shares issues totaled 2077, while of corporate bonds totaled 25 as of 26 August 2022. The aggregate volume of issued shares totaled UZS 163 190.4 billion, while of corporate bonds totaled UZS 983.9 billion. #issues#shares#bonds#infographics#statistics deponet.uz|Tg|Fb|Inst|Youtube

12
ПредишнаСтр. 1 от 2Следваща