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

Резултати

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

Търсене: #box

当前筛选 #box清除筛选
Main Event | Sport News

@maineventnews · Post #96 · 22.07.2024 г., 20:01

Jake Paul knocked out Mike Perry in the 6th round 👊 I expected to win. I should have won in the first round, but Perry survived. Mike Tyson, you're next, sign the contract. #Box 👁Subscribe to Main Event | Sport News

Hashtags

Main Event | Sport News

@maineventnews · Post #60 · 18.07.2024 г., 13:01

Jake Paul on the fight with Mike Perry: "Maybe at the beginning, he’ll land a couple of heavy shots, maybe he’ll be all wild and unpredictable, but as the fight progresses, I’ll start breaking him down with my footwork, jab, and body shots." #Box 👁Subscribe to Main Event | Sport News

Hashtags

Main Event | Sport News

@maineventnews · Post #52 · 17.07.2024 г., 12:00

Diaz Sues Organizers of Fight with Masvidal #box#mma Nate Diaz has filed a lawsuit against the organizers of the fight with Jorge Masvidal. Nate claims he had an agreement for a $10,000,000 payout for the fight. He received an advance payment of $1,000,000, with the remaining $9,000,000 to be paid after the fight. The lawsuit states that the company is refusing to make the payments, claiming that the event was unprofitable. 👁Subscribe to Main Event | Sport News

Hashtags

科技&趣闻&杂记

@kejiqu · Post #3472 · 26.05.2025 г., 08:08

ChatGPT深度研究功能现在可以连接并读取来自Box和Dropbox网盘中的数据 据 OpenAI 官方发布的消息,目前 ChatGPT 深度研究功能已支持连接 Box 和 Dropbox 平台的账号,添加账号并授权后 ChatGPT 可以通过读取用户网盘中存储的文件来优化研究报告。 用户在连接账号后可以将 Dropbox 等网盘的指定路径作为数据来源,这样 ChatGPT 在进行深度研究功能时也会读取这些文件,如果有重要数据则可能会将这些数据添加到研究报告中。 用户自己提供数据还有个好处是 ChatGPT 可以生成更契合用户需要的研究报告,用户提供的数据越多并通过提示词引导 ChatGPT,最终生成的效果可能要比 ChatGPT 直接从互联网上抓取数据更好。 另外 OpenAI 也准备为 ChatGPT 带来 MCP 协议的支持,到时候 ChatGPT 也可以通过 MCP 连接外部应用程序获取数据,到时候无论是日常提问还是撰写深度研究报告可能都会更方便。蓝点网 🏷#ChatGPT#Box#Dropbox 📢频道👥群组📝投稿

探索号

@seeker_rc · Post #19595 · 04.05.2026 г., 14:55

给 sing-box config 写了一套完整的 TypeScript 类型 以前需要同时维护几份 sing-box config 时搓的东西,目前已经维护一年半了。 ⦁ 主要特点是通过 ts 的泛型校验一下 tag ,sing-box tag 太多了,写的时候经常忘。 ⦁ 用 ts 的话可以看一下 playground ,其实就是把配置拆碎,然后组合成一份 sing-box config ,这样子维护几份 sing-box config 就比较省力(因为几份 config 里会重用大部分 rule-set, outbounds 等等)。 ⦁ 如果没这个需求也可以直接用 json schema ,直接在现有的 json 里加上就好了,在 LSP 加持下... via V2EX 分享创造 标签: #sing#box#config ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。