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

Резултати

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

Търсене: #a15

当前筛选 #a15清除筛选
Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #377 · 24.06.2025 г., 04:13

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250623-213918-NIGHTLY-diting.zip File Size:3.3G sha256sum:b9c01d0a5edad1b7a5d545f3a2a777aa9423c7e569392ea8dcbc5201d0f62f61 Downloads: SourceForge | Pling fast download Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Merge 2025-06-05 SLP (whitout qpr2) - Optimize dalvik and dext2oat - Update translations If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #290 · 17.03.2025 г., 13:54

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250315-173327-NIGHTLY-diting.zip File Size:3.3G sha256sum:d79b83004b9c35074236dcd73b634170d678e7d1eced432840c3c95dd72f179d Downloads: SourceForge | Pling fast download Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Allow to hide gesture navigation bar - Add icon pack suport in the launcher (tap in home /Home settings->icons->icon pack) - Add icon shapes (Wallpaper and style -> shape) - Add setting to allow/disallow interacting with quick settings on secure lockscreen If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #288 · 12.03.2025 г., 21:49

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250312-024956-NIGHTLY-diting.zip File Size:3.3G sha256sum:e7dcdda8dcb253cf5969244a2647877feb6c8aaf153d152e072ef79f191ffd8f Downloads: SourceForge | Pling fast download Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - update translations - Add pocket judge - Add udfps animations - Implement DSPVolumeSynchronizer - Addres missing sepolicy If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #264 · 21.02.2025 г., 23:07

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250221-NIGHTLY-diting.zip File Size:3.1G sha256sum:805cf83fe0c84f14f9738674e902bb9153b1bd9eea82ac6f52452cdb4d6f6d85 Downloads: SourceForge | Pling fast download Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Return high touch polling rate menu :P is working as expected now - audio: enable compress voip - Extend audio offload buffer size to 256kb - Defer refresh rate changes when screen is off - Launcher: Implement Circle search (let long tap in the navbar) - Per-app volumen - Feb security patch - Disable default frame rate limit for games If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #249 · 11.02.2025 г., 02:35

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250211-NIGHTLY-diting.zip File Size:3.1G sha256sum:4c2564fa62ccaa87580258809ef429a92d426d7198fe82fa642bb6c79a6b4547 Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Merge Jan SLP - Add GameSpace back - Return LMOFreeForm - Fix issue where a message about bootloader in the notifications If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal Follow@xiaomi_12tpro_updates Join@xiaomi12tpro_chat

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #245 · 06.02.2025 г., 04:39

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250206-NIGHTLY-diting.zip File Size:3.1G sha256sum:29f36d92b3798bf4ab58a2fa1ca0fcfa028840b40c10735724a0581085eb0c32 Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Merge Dec SLP and QPR1 - Update Yuki kernel - Upgrade blobs to V816.0.10.0.ULFMIXM - Improve rom performance - Switch HyperOS Camera to adaptive - Include FW 1.0.10.0.ULFMIXM - Update kernel modules to 1.0.10.0.ULFMIXM - Increase audio buffer size - Dynamically set IRQ affinity for KGSL and MSM_DRM - Silence some log spam If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal Follow@xiaomi_12tpro_updates Join@xiaomi12tpro_chat

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #202 · 14.12.2024 г., 02:32

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.0.0-20241214-NIGHTLY-diting.zip File Size:3.0G sha256sum:4677a3f5eba45aa41a0967e4570214d8b066c41a4bd3d763f80fe941635be9a6 Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Fix issues with setup wizard and some apps - Fix black screen if you clean install - fix an issue with our recovery If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #198 · 09.12.2024 г., 05:20

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.0.0-20241209-NIGHTLY-diting.zip File Size:3.0G sha256sum:5ec340cba7e49a083fb287e786a23acf1d2ed5515c5e36a328b6491f251df644 Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Add advanced restart options - Update translations - Implement PDF viewer (camelot from lineage) - Fix black theme issues - Revamp Media output Dialog - Integrate Google Lens into Screenshot UI - LockPatternUtils: Decrease minimum pin length for auto confirmation - Allow scanning of networks while device is locked - Enable Freeform window - use kryo 785 for ARM64 - Optimize to avoid memory pressure (Bug: 181567573) If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal Follow@xiaomi_12tpro_updates Join@xiaomi12tpro_chat

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #190 · 27.11.2024 г., 23:16

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.0.0-20241127-NIGHTLY-diting.zip File Size:2.9G sha256sum:e507f139624054fba0d1b20a123da3bdadfea905ffd52b14e5c6ac01b7a9927c Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Fix several seccomp filter failures (thnks to @JohnD3vis33 for the logs) - Improve overall performance - Improve miui camera - Fix an issue with our updater app now it works correctly If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #185 · 22.11.2024 г., 00:47

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.0.0-20241121-NIGHTLY-diting.zip File Size:2.9G sha256sum:31139c5806906e154312a7259eb49b6c85f3be64bc18bb24ffd20e2d8d26580d Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Integrates the November 2024 Android Security patch to enhace system security - Improves system stability and performance - Fix Document mode on Miui Camera - Fix an issue with Bluetooth audio - Yuki kernel fixes (no more freeze or reboot reported) - Implement HD and vowifi icon - Fix and issue with Ram Memory info on our launcher (showing incorrect tint color on white system) - Fix Dolby Vision - Change about info desing on settings app - Fix an issue with colored status bar icons - Import translations If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #181 · 14.11.2024 г., 23:50

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.0.0-20241114-NIGHTLY-diting.zip File Size:2.6G sha256sum:5068697261afde7a7d3a15e7293768ec7b8f1d1e5ee13210398b80c9c1e7e239 Downloads: SourceForge | Pling Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Initial A15 build release - Pass Safetynet by default - Miui Camera included - You can upgrade from XPerience 18 (if you have any issues then do a clean flash) - Use the recovery img included in this post if you have issues when doing a format data - If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal Follow @xiaomi_12tpro_updates Join @xiaomi12tpro_chat

Hashtags

123•••56
ПредишнаСтр. 1 от 6Следваща