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 подобни публикации

Търсене: #digitalocean

当前筛选 #digitalocean清除筛选
VPS简测

@vps_test · Post #70 · 14.05.2023 г., 06:31

DigitalOcean Frankfurt 法兰克福 下行15Gbps,上行2Gbps,用的人较少,欧洲用户选他比较多,国际互连比较强 套京德IPLC直接起飞,超级无敌的落地鸡 #digitalocean#1Gbps#建站

VPS简测

@vps_test · Post #68 · 14.05.2023 г., 06:29

DigitalOcean Singapore 新加坡 下行1.5Gbps,上行2Gbps,带宽较小 电信/联通拉稀,广移可拉 网络不是很稳定,因为APE海缆脆弱,老波及到 #digitalocean#1Gbps#建站

折腾实验室频道

@TossLabChannel · Post #510 · 10.01.2025 г., 14:33

#DigitalOcean#数字海洋#VPS#白嫖 白嫖Digitalocean数字海洋服务器10台VPS 60天 DigitalOcean 是一家总部位于美国纽约的云计算服务商,成立于2011年,提供高性价比和易用的云服务。通过注册新账户并使用 邀请链接 ,可以获得200美元的免费额度,并使用该额度购买VPS实例等服务,最长可使用60天。 注册条件 • 有效邮箱地址:可使用Google邮箱、QQ邮箱等主流邮箱进行注册。 • 支付方式:需要绑定信用卡或借记卡(部分地区支持支付宝)。 • 邀请链接:使用邀请链接注册可获得200美元免费额度。 • 美国VPN(可选):建议使用美国IP注册,以防止账户因地区限制被封。 注意事项 1. 免费额度 :使用邀请链接注册后,获得200美元免费额度,需在2个月内使用完毕。合理规划资源使用,避免浪费。 2. 绑定支付信息 :绑定支付方式时,会产生1美元的预授权金额,之后会退回,不会影响实际账户资金。 3. 机器实例配额 :每个账户最多可创建10个实例。建议不要一次性启动所有实例,以免触发账户限制。 4. 使用VPN :建议在整个注册和使用过程中保持美国VPN开启,避免因IP地区问题导致账户受限。 5. 避免超额使用 :免费额度有效期为2个月,请根据需求合理分配资源,避免额外费用。 通过合理使用DigitalOcean的免费额度,可以在不花费资金的情况下体验其VPS服务。 📢 群聊: @TossIPhone 🎈 频道: @TossIChannel ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ 🔘折腾系列频道 - 全面介绍 🔘境外离岸银行教程合集目录 🔘折腾实验室优质Github项目合集

VPS简测

@vps_test · Post #72 · 14.05.2023 г., 06:33

DigitalOcean Bangalore 班加罗尔 最冷门的一个区域,根本没人用,算是我见到过的印度机器中国际互连最强了,到国内三网稳定,延迟大,但是几乎不丢包,优秀的落地,抗DDoS!但是CPU性能特别好,有需要持久计算能力的可以选。 #digitalocean#1Gbps#建站#DDoS防护