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

Резултати

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

Търсене: #transfer

当前筛选 #transfer清除筛选
Libreware

@libreware · Post #1357 · 10.11.2024 г., 16:45

Warpinator for Android is an unofficial port of Linux Mint's file sharing tool of the same name. It is fully compatible with the original protocol and allows for easy transfer of files between Android and Linux devices. Features: - Automatic discovery of compatible services on local network - Works on WiFi or hotspot, no internet connection needed - Transfer any type of files quickly and easily - Receive entire directories - Run multiple transfers in parallel - Share files from other applications - Limit who can connect using a group code - Option to start on boot - Does not require your location or any other unnecessary permissions Android https://github.com/slowscript/warpinator-android https://f-droid.org/packages/slowscript.warpinator/ Linux https://github.com/linuxmint/warpinator Windows https://winpinator.swisz.cz https://github.com/slowscript/warpinator-windows #share#transfer

Libreware

@libreware · Post #1354 · 09.11.2024 г., 13:56

LocalSend free, open-source multiplatform app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection. https://github.com/localsend/localsend #share#transfer

Libreware

@libreware · Post #1353 · 09.11.2024 г., 13:04

FlyingCarpet Cross-platform AirDrop. File transfer between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi. No network infrastructure required, just two devices with WiFi chips in close range. https://github.com/spieglt/FlyingCarpet #transfer#share

Libreware

@libreware · Post #1076 · 02.05.2022 г., 02:23

Sharik Share files across devices with Sharik! The app works with a Wi-Fi connection or a Wi-Fi Hotspot. No internet connection is needed. It is available for Android, iOS, Windows, Mac, and Linux. Download - https://github.com/marchellodev/sharik/releases Source - https://github.com/marchellodev/sharik/ @foss_Android #share#transfer

Libreware

@libreware · Post #961 · 30.06.2021 г., 11:55

Now KDE Connect can hook up your Windows machine as well! KDE Community @ https://www.twitter.com/kdecommunity/status/1409808049116700673/ The Windows version of KDE Connect gets official support and you can get the beta version right now from the Microsoft Store. Exclusive link-only access: https://microsoft.com/store/apps/9N93MRMSXBF0 https://kdeconnect.kde.org https://f-droid.org/repo/org.kde.kdeconnect_tp #kdeconnect#transfer#windows

Libreware

@libreware · Post #988 · 17.10.2021 г., 01:00

tFileTransporter Transfer apps, images and files to Android Devices and PCs Use UDP Broadcast or WiFi P2P create connections, Use TCP protocol to transfer files. This program builds with RxJava and Kotlin Coroutines. Android: https://github.com/Tans5/tFileTransporter F-droid (Izzy repo): https://f-droid.org/packages/com.tans.tfiletransporter/ Play Store: https://play.google.com/store/apps/details?id=com.tans.tfiletransporter Desktop: https://github.com/Tans5/tFileTransfer_desktop #tFileTransporter#transfer#share

纯情男高

@hanzichen · Post #1469 · 27.12.2025 г., 23:58

Warpdrop Warpdrop is a privacy-first, peer-to-peer file sharing tool that allows users to securely transfer files directly between terminals and browsers with ephemeral links, powerful NAT traversal, and complete self-hosting control. 🔗 Links: - Website - Features - Screenshots - Support group - Source code Developer: Mohd Zaid ❤️ Support the Project If this project makes your life easier, here are a few quick ways to show some love: ⭐ Star the repo/app ☕ Buy a coffee for the developer 🛠 Contribute code, issues, or pull-requests 🏷 Tags: #Website#P2P#Tools#Transfer

Libreware

@libreware · Post #1221 · 11.02.2024 г., 23:51

. KDE Connect is an app that makes it easy to connect your DeGoogled phone and/or Linux Phone to your Linux laptop using your phone's hot spot, or any network. KDE Connect can do these things: - Share files - Share clipboard - Control Slideshows w/phone - Send/Receive texts on laptop (Using KDE Connect Taskbar Indicator) - Control laptop media player - Move laptop mouse pointer 1. Install KDE Connect on phone Use KDEConnect on F-Droid 2. Install on laptop For Debian based distros: sudo apt install kdeconnect On your laptop firewall, make sure you open ports that KDE Connect uses. To do this, open up terminal and enter these commands: sudo ufw allow 1714:1764/udp sudo ufw allow 1714:1764/tcp sudo ufw reload 3. Connect both devices - Connect both to the same network - Open app on both devices - Find and pair devices ⚡️@LinuxTechIndex #KDEConnect#transfer#Files#share

Libreware

@libreware · Post #1003 · 27.10.2021 г., 01:09

Croc Easily and securely send things from one computer to another Features - allows any two computers to transfer data (using a relay) - provides end-to-end encryption (using PAKE) - enables easy cross-platform transfers (Windows, Linux, Mac, Android) - allows multiple file transfers - local server or port-forwarding not needed - ipv6-first with ipv4 fallback https://github.com/schollz/croc https://f-droid.org/en/packages/com.github.howeyc.crocgui/ 📡@NoGoolag📡@Libreware #croc#transfer#send#share

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