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

Резултати

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

Търсене: #rnb

当前筛选 #rnb清除筛选
Your Om

@yourom · Post #2027 · 22.08.2020 г., 08:55

Собрала плейлист на Spotify из того, что слушаю последнее время. Jill Scott, Caribou, Lenny Kravitz, Kendrick Lamar, Rosalia и другие. Он абсолютно не подходит для медитации, но отлично подходит для того, чтобы пританцовывая готовить завтрак, кататься на велосипеде или танцевать на кухне в трусах. #hiphop#spiritualjazz#rnb

Tibicen

@world_music_geek · Post #89 · 27.10.2020 г., 18:00

The Budos Band — Long In The Tooth (Daptone Records, 2020) #afrobeat#rnb#soul#funk#psychedelic#United_States Отмечая 15-летие выпуска своего дебютного альбома, The Budos Band, резиденты лейбла Daptone Records, представляют свой новый альбом, на котором они решили навести мосты между этно-фанком своих первых работ и психоделическим роком, котором увлеклись позже. По словам самих участников, переслушивая хип-хоп пластинки, они решили вернуться ближе к своему раннему танцевальному звучанию. Spotify | AppleMusic | Bandcamp

Tibicen

@world_music_geek · Post #922 · 30.03.2025 г., 19:24

Balthvs — Harvest (Mixto Records, 2024) #funk#soul#rnb#latin#psychedelic#rock#disco#Colombia На фоне растущей популярности психоделического фанка с медленным темпом и восточными мотивами, Balthvs легко было бы назвать ещё одним последователем Khruangbin — если бы не то, как группа переосмысляет кумбию и другу музыку своей родной Колумбии. Harvest — четвёртый студийный альбом трио, записанный в течение месяца в летнем домике в Ла-Меса. В отличие от предыдущих релизов, весь материал написан коллективно. В альбоме 16 треков — инструментальных и вокальных, на английском и испанском. 🔗Spotify | AppleMusic | YouTube | Bandcamp

Tibicen

@world_music_geek · Post #739 · 03.09.2024 г., 09:05

Стили #afro_caribbean#afro_colombian#afro_house#afro_jazz#afro_soul#afro_swing#afrobeat#amapiano#ambient#anatolian#andalusian#aor#appalachian#ashik#assouf#avantfolk#balkan#ballad#bambuco#baroque#baroque_pop#bluegrass#blues#bolero#bollywood#bon#boogie#boom_bap#bossa_nova#breakbeat#broken_beat#bwiti#calypso#candomble#canterbury_scene#canzone_napoletana#caribbean#carnatic#celtic#chaabi#champeta#chanson#chanting#cheb#chicha#chimurenga#christian#city_pop#classicism#coladeira#concrete_music#cool_jazz#country#cumbia#dancehall#dark_folk#deep_house#dhikr#dhrupad#disco#doom#dream_pop#drone#drumnbass#dub#dubke#early_music#electronic#ethio_jazz#europop#field_recording#field_recordings#flamenco#free_jazz#french_pop#funana#funk#fusion#gamelan#garage#ghazal#gnawa#gospel#gqom#grime#griot#guaracha#gypsy_jazz#hard_bop#highlife#hindustani#hip_hop#house#hussars_funk#idm#indie#indofuturism#indorock#industrial#ishumar#italo_disco#jarocho#jazz#jit#joik#jongo#khaliji#khoomei#khyal#klasik#klezmer#kraut#kwaito#kwela#laika#latin#lullaby#malhun#maloya#manouche#maqam#medieval#milonga#minimal#minyo#modal_jazz#mor_lam#mugham#musica_caipira#musica_popular_brasileira#muwashahah#nasheed#neo_rebetiko#new_age#new_wave#noise#nu_disco#operetta#oriental_noise_rock#persian_classical#pop#pop_rock#post_industrial#post_punk#post_punk#postdubstep#postdubstep#progressive#proto_zouk#psychedelic#qawwali#raga#rai#rebetiko#reggae#renaissance#rnb#rock#rocksteady#romance#romanticism#roots_reggae#ryukoka#salsa#salsa_dura#samba#shaabi#shashmaqom#shoegaze#ska#soca#soft_rock#son#son_cubano#son_montuno#soukous#soul#space_rock#spiritual#sufi#surf#surti#swing#synth#synth_pop#synthpop#taarab#takamba#taksim#tango#tarana#techno#throat_singing#thumri#tishoumaren#traditional#tribal#vallenato#voodoo#wahrani#wassoulou#yacht_rock#zeuhl#zolo#zouk

Hashtags

#afro_caribbean#afro_colombian#afro_house#afro_jazz#afro_soul#afro_swing#afrobeat#amapiano#ambient#anatolian#andalusian#aor#appalachian#ashik#assouf#avantfolk#balkan#ballad#bambuco#baroque#baroque_pop#bluegrass#blues#bolero#bollywood#bon#boogie#boom_bap#bossa_nova#breakbeat#broken_beat#bwiti#calypso#candomble#canterbury_scene#canzone_napoletana#caribbean#carnatic#celtic#chaabi#champeta#chanson#chanting#cheb#chicha#chimurenga#christian#city_pop#classicism#coladeira#concrete_music#cool_jazz#country#cumbia#dancehall#dark_folk#deep_house#dhikr#dhrupad#disco#doom#dream_pop#drone#drumnbass#dub#dubke#early_music#electronic#ethio_jazz#europop#field_recording#field_recordings#flamenco#free_jazz#french_pop#funana#funk#fusion#gamelan#garage#ghazal#gnawa#gospel#gqom#grime#griot#guaracha#gypsy_jazz#hard_bop#highlife#hindustani#hip_hop#house#hussars_funk#idm#indie#indofuturism#indorock#industrial#ishumar#italo_disco#jarocho#jazz#jit#joik#jongo#khaliji#khoomei#khyal#klasik#klezmer#kraut#kwaito#kwela#laika#latin#lullaby#malhun#maloya#manouche#maqam#medieval#milonga#minimal#minyo#modal_jazz#mor_lam#mugham#musica_caipira#musica_popular_brasileira#muwashahah#nasheed#neo_rebetiko#new_age#new_wave#noise#nu_disco#operetta#oriental_noise_rock#persian_classical#pop#pop_rock#post_industrial#post_punk#postdubstep#progressive#proto_zouk#psychedelic#qawwali#raga#rai#rebetiko#reggae#renaissance#rnb#rock#rocksteady#romance#romanticism#roots_reggae#ryukoka#salsa#salsa_dura#samba#shaabi#shashmaqom#shoegaze#ska#soca#soft_rock#son#son_cubano#son_montuno#soukous#soul#space_rock#spiritual#sufi#surf#surti#swing#synth#synth_pop#synthpop#taarab#takamba#taksim#tango#tarana#techno#throat_singing#thumri#tishoumaren#traditional#tribal#vallenato#voodoo#wahrani#wassoulou#yacht_rock#zeuhl#zolo#zouk