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

Резултати

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

Търсене: #android16

当前筛选 #android16清除筛选
Android Broadcast

@android_broadcast · Post #9518 · 22.09.2025 г., 05:45

🤖Вышла вторая Beta Android 16 QRP2 Осенний фича релиз Android 16 всё ближе и вышла следующая бета с новыми возможностями: 👉 Platform Stability - API больше меняться не будет и можно заливать в Google Play в Beta/Alpha каналы 👉 Специальный режим установки приложения через ADB, чтобы разработчики могли тестировать приложения с вводом системы верификации разработчиков: adb shell pm set-developer-verification-result 👉 Новый сборщик мусора. ART теперь будет поставляться с Generational Concurrent Mark-Compact (CMC) Garbage Collector, которые фокусируется на сборке новых объектов, которые обычно и чистятся. Ожидается снижения потребления CPU ресурсов и потребление заряда батареи. 👉 Встроенные счетчик количества шагов в Health Connect. Приложения смогут получить эти данные, если у них есть разрешение READ_STEPS. Чтобы проверить наличие API из Android 16 QRP2 надо вызвать новое API if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) { // Вызываем APIs из Android 16 QPR2 } Релиз обновленной версии Android 16 ожидается в ноября 2025 #android16

Hashtags

Android Broadcast

@android_broadcast · Post #9433 · 21.08.2025 г., 09:23

🤯Google придумала новый способ давления на разработчиков Теперь если в приложении не добавили тёмную тему, то пользователь сам принудительно сделает её включение через системные настройки. Это приведёт к инверсии цветов. Наконец-то Google поняла что разработчики иногда забивают на тёмную тему, обязать их не получается (ну почему через Google Play не обязать?). Видно так решила Google: Будем форсировать фичи и пусть пользователи жалуются и занижают рейтинг приложения в магазине Странно, что на рекламной графике использовали приложение FitBit, хотя в нем есть нативная темная тема, да и сам продукт принадлежит Google. В FitBit нет тёмной темы. Да и не удивился - худшее спортивное приложение, что я использовал 😞 #android16

Hashtags

Android Broadcast

@android_broadcast · Post #9432 · 21.08.2025 г., 09:03

🤖Вышла первая Beta второго квартального обновления Android 16 С релиза Android 16 Google перешла на новый цикл обновлений Android - раз в квартал. Нас ждут новые фичи и API для разработчиков Чтобы проверить наличие SDK надо использовать новый способ проверки // Проверяем версию API через новое API для проверки версии SDK if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) Что нового: 👉 Принудительный перевод светлых приложений в темные. Делается инверсия цветов 👉 Система будет делать иконки приложений автоматически тематически (монохромная версия, покрашенная в цвета системы) 👉 Приложения смогут переопределить системный UI шаринга, чтобы оставаться интерактивными 👉 Добавили возможность реализации переноса данных между Android и iOS версий приложения 👉 PDF в Android SDK теперь поддерживает редактирование и аннотации. На основе этого API будет работать Jetpack PDF библиотека 👉 Display Topology API - новое API для получения информации при работе с несколькими экранами о их положении - границы и относительное размещение. 👉 Тайлы в быстрых настройках теперь должны относится к одной из стандартных категорий 👉 Больше возможностей для управления Haptic Feedback 👉 Много новых Media API (подробности отдельным постом) 👉 Улучшения управлением компаньон устройств (подробности отдельным постом) 👉 Улучшение безопасности и приватности (подробности отдельным постом) 👉 Улучшения API для разработчиков (подробности отдельным постом) Релиз стабильной версии ожидается в 4 квартале (ориентировочно ноябрь 2025). Уже доступа первая Beta версия для Google Pixel. Подробнее про изменения читайте на сайте Android Developers #android16

Hashtags

Android Broadcast

@android_broadcast · Post #9250 · 10.06.2025 г., 18:20

🤖Android 16 вышел официально!!! Что нового 👉 Новый график релиза версий Android 👉 Обязательный Edge-to-edge 👉 Live Updates уведомления 👉 Все приложения принудительно растягиваются на больших экранах 👉 Лучшая производительность и время жизни батареи Обзор всех изменений можно найти в канале по тегу #android16 (кликайте на сам тег)

Hashtags

Android Broadcast

@android_broadcast · Post #8977 · 18.04.2025 г., 03:54

🤖Вышла Android 16 Beta 4 Вышла последняя Beta версия Android 16. Никаких изменений в API для разработчиков нет, только доработки и улучшения в ОС. Следующий релиз будет финальным. Ставлю на то, что это сделают анонс на Google I/O. #android16

Hashtags

Android Broadcast

@android_broadcast · Post #8802 · 13.03.2025 г., 18:35

Local Network Protection (LNP) - Новая фича для будущего Android. Позволит пользователю контролировать какие приложения могут иметь доступ в локальную сеть. Появится новое Runtime Permission, но потом. Разработчики уже могут потестировать через вызовы shell команд adb shell am compat enable RESTRICT_LOCAL_NETWORK <package_name> #android16

Hashtags

Android Broadcast

@android_broadcast · Post #8801 · 13.03.2025 г., 18:29

Фон под текстом для обеспечения лучшей контрастности и читаемости - новая фича Android 16. Пользователь сможет включать в настройках, а разработчики узнать о статусе через Accessibility API #android16

Hashtags

Android Broadcast

@android_broadcast · Post #8684 · 14.02.2025 г., 05:11

🤖Появился новый Intent для съёмки Motion Photo val intent = Intent(MediaStore.ACTION_MOTION_PHOTO_CAPTURE) // или MediaStore.ACTION_MOTION_PHOTO_CAPTURE_SECURE // Задаем куда сохранить intent.putExtra(MediaStoreEXTRA_OUTPUT, uri) // или Uri через ClidData intent.setClipData(clipData) context.startActivity(intent) #android16

Hashtags

Android Broadcast

@android_broadcast · Post #8683 · 14.02.2025 г., 04:59

🤖Вышла вторая Beta Android 16 Вышла вторая из четырёх Beta версий Android 16. Улучшили работу с медиа, новые возможности Camera2 API, форсирование Edge-to-edge и другие. Как всегда расскажу отдельными постами про самые интересные фичи #android16

Hashtags

Android Broadcast

@android_broadcast · Post #8596 · 23.01.2025 г., 20:50

Android 16 Beta 1: Предиктивный жест назад для трёхкнопочной навигации и приложения Обои и Стиль. При использовании системной навигации с тремя кнопками теперь можно будет увидеть анимацию предиктивного жеста назад. Для этого необходимо зажать кнопку назад. При этом вы также можете отменить это действие просто переместив палец в другую часть экрана, но не отрывая палец от дисплея. Также теперь поддержку предиктивного жеста назад получило системное приложение Обои и стиль. #Android16 😎Google News | Ru

Hashtags

Android Broadcast

@android_broadcast · Post #8592 · 23.01.2025 г., 20:41

Notification Live Updates в Android 16 Добавили новый стиль уведомлений - ProgressStyle, который позволяет задать текущий прогресс, иконки для начала, конца и текущей позиции, добавлять разные сегменты и точки. Подробности по новому типу уведомлений читайте тут Рекомендуется интегрировать приложениям в сфере доставки и навигации. Пишите свои комментарии каким категориям приложений еще подойдет #android16

Hashtags

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