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

Резултати

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

Търсене: #write

当前筛选 #write清除筛选
Find Blog👁发现博客

@FindBlog · Post #158 · 15.01.2023 г., 15:11

博客名称:莫比乌斯 博客地址:https://onojyun.com 博客分类:#Write 建立时间:2021年 博客介绍:博客取名莫比乌斯 / MOBIUS,是取自只有一个平面略带哲学意味的「莫比乌斯带」。写作也好、人生也好,兜兜转转也像是一个莫比乌斯带。语言风格极具特色,文章内容涵盖各方各面。莫比乌斯并不是传统意义上的博客,是坚持写作的自留地。 RSS地址:https://onojyun.com/feed/ #Blog 频道:@FindBlog

Hashtags

博客名称:学无止境@一点一滴 博客地址:http://gtdstudy.com/ 博客分类:#Write 建站时间:2020年 博客介绍:独立思考,博客内容很多是博主关于某个事物某件事情的思考和想法,内容丰富新颖,值得收藏和阅读。 RSS地址:http://gtdstudy.com/index.xml #Blog 频道:@FindBlog

Hashtags

Pensive|

@PensivePost · Post #4941 · 18.02.2021 г., 19:15

Page through that book To get to the nooks That inspires that hooks Book that ticket To fly to the skies In that little skit Nurture the child That comes as a joke In a sea of scary faces Reminisce not the past Just to wallow in the plug That doesn't help your soul Aid your growth With nothing but seeds To get your harvest Dance not in pressure For you are not them You are you. © Favody #review#poem#write

Pensive|

@PensivePost · Post #5405 · 20.09.2021 г., 19:12

She's a mother, a daughter, She's brave, courageous, Is She's feeble ? Helpless ? No! It's you, your frame of mind, Still let's her freedom to rescind! She's not disabled, Just the scenario made her existence confined, Even in the century of 21st, She's still defenseless over the set of your mind! She never got the freedom, which a boy gets at his age, So could you please let me know, How She's guilty at every stage ? Either She's LAXMI to NIRBHAYA and PRIYANAKA in 2019, Nothing has changed, Every single day, every single minute, nd in every single second, She's molested, burnt and raped! This act is plaintive enough, We can't even think of, Only a question I wanted to ask, When she'll get rid of! 💯 -Gurpreet Bhatia #guri#poetry#review#write

Find Blog👁发现博客

@FindBlog · Post #336 · 18.11.2023 г., 13:25

博客名称:Memozine 博客地址:https://memozine.me/ 博客分类:#Write#Life 建立时间:2014年 博客介绍:Memozine,“备忘杂志” 是 Memorandum 和 Magazine 的组合词语。博客网站十分简洁,但文字很有力度。读起来有一种王小波的风格,不知道是不是我的错觉。看到他在关于页面里写「文章部分 发表 在“三联生活周刊”、“腾讯新闻·全媒派”、“豆瓣阅读”等」,肃然起敬。 RSS地址:https://memozine.me/atom.xml #Blog 频道:@FindBlog 群组:@FindBlog_Group

Find Blog👁发现博客

@FindBlog · Post #303 · 29.09.2023 г., 00:27

博客名称:Macin 博客地址:https://macin.org 博客分类:#Life#Write 建立时间:2012年 博客介绍:曾让江湖人闻风丧胆的筷子小手。Macin 的文字非常细腻,可以像读故事一样读他的内容,娓娓道来,十分精彩。 RSS地址:https://www.macin.org/atom.xml #Blog 频道:@FindBlog 群组:@FindBlog_Group

Find Blog👁发现博客

@FindBlog · Post #276 · 27.08.2023 г., 14:35

博客名称:拾月 博客地址:https://www.skyue.com 博客分类:#Write#Life 建立时间:2015年 博客介绍:博主拾月,英文 ID 为 SKYue,男生哦~多次被误以为是女生。在互联网行业做产品类工作。博客文字十分细腻,书写十分优美。 RSS地址:https://www.skyue.com/feed #Blog 频道:@FindBlog

Find Blog👁发现博客

@FindBlog · Post #175 · 07.04.2023 г., 23:20

博客名称:Simon Blog 博客地址:https://rsp.ink 博客分类:#Write#Life 建立时间:2013年 博客介绍:2013年开始记录文字,博客中有论说、随笔、生活、评论、音乐随感录等内容。文字十分优美,博客采用 Hugo 进行构建,阅读体验非常不错。也可以关注他的个人频道。 RSS地址:https://rsp.ink/feed.xml #Blog 频道:@FindBlog

Find Blog👁发现博客

@FindBlog · Post #124 · 06.10.2022 г., 23:31

博客名称:王小嗨的不老歌 博客地址:https://sogola.com 博客分类:#Life#Write 建立时间:2008年 博客介绍:王小嗨的个人部落格,由Hugo生成。在博客的关于界面来看,博主应该是一个马克思主义者。博客内容很广,有读书笔记、生活记录、翻译文章,以及不少深度思考内容。 RSS地址:https://sogola.com/index.xml #Blog 频道:@FindBlog

Find Blog👁发现博客

@FindBlog · Post #123 · 04.10.2022 г., 01:32

博客名称:初之音 博客地址:https://www.himiku.com 博客分类:#Life#Write 建立时间:2017年 博客介绍:一个二次元风格的博客。博客内容也大多和动漫、动画有关,以最低程度的更新计划——月更,继续更新着作者的开箱、推荐、动画评鉴。 RSS地址:https://www.himiku.com/feed #Blog 频道:@FindBlog

博客名称:思行者的星球 博客地址:https://note-star.cn 博客分类:#Write#Life 建立时间:2016年 博客介绍:博主星球彦,记录作者的个人日志,原创思想,观点。该博主还开发一款博客圈社交平台——个站商店,欢迎各位博主入驻。作者的话:生活上我经常去体验生活,即使在街上随便走走都有一些想法想记录下来。要记录就得有日志,所以博客是我的好朋友。 RSS地址:https://note-star.cn/feed #Blog 频道:@FindBlog

博客名称:非理勿试 博客地址:https://www.ntiy.com/ 博客分类:#Life#Write 建立时间:2019年 博客介绍:Never Try It Yourself.在这里,博主尝试记录下他的一些所见所闻,那些一闪而过的念头,还有那些不知道该对谁发的牢骚。 RSS地址:https://www.ntiy.com/feed #Blog 频道:@FindBlog

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