В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость.
Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных.
Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора.
!!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты.
________________________________________
Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации.
Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн.
К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд.
На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру.
Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится.
Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего.
#dev
the truffle hunters, 2020, m. dweck, g. kershaw
север италии, пьемонт. будни пожилых людей, которые в одиночку ходят с собаками по лесам в поисках местных сокровищ. трюфель находится под землёй, пёс унюхивает, разрывает. потом хозяин продаёт его дилеру, а тот перепродает в рестораны, носит на выставки для ценителей. любимые сцены - от первого лица лающих охотников; застольные беседы с ними же. #doc
А мы напоминаем, что программа Bastau Docs есть на сайте фестиваля.)
Bastau Docs - сегодня, Синий зал #doc
НЕОБРАТИМОСТЬ (Сказка времени, которое не вернётся) - 14:00
Павле Терзич, Сербия, 2023, 107 мин
Из Детройта, через Чикаго, в направлении Манчестера и дальше к Берлину и Белграду. Независимо от того, звучит ли рейв на подпольной (в прямом и в переносном смысле) клубной площадке или на сценах больших залов, электронный звук становится своего рода новой музыкальной религией.
ГОЛОС ЛЕДНИКА - 16:00
Ядыкар Ибраимов, Казахстан, 2023, 80 мин
Хорошо известно, что ледники тают из-за климатического кризиса, но как именно это происходит? Эко-триллер о таянии ледника Туюксу в Казахстане — и работа ученых, которые документируют этот процесс.
Коллектив Women Make Docs анализирует фильм «Голос ледника»
ДОЧЬ ХУДОЖНИКА - 18:00
Маргарита Линтон, Янив Линтон, Израиль, 2022, 60 мин
Она присоединяется к экскурсии по выставке известного художника. Мужчина на автопортретах — её отец, но об этом знают лишь немногие. Она связывается с художником впервые за десять лет и делится своей идеей снять фильм об их отношениях, которые возобновились благодаря его творчеству. Взволнованный художник отправляет её снимать свою выставку. По ходу работы над фильмом она обнаруживает, что встреча с человеком, стоящим за портретами, является для нее настоящим испытанием. «Дочь художника» рисует ошеломляющий и удивительный портрет отношений, которые могут существовать только в кино.
Моше Циммерман, Пицца в Освенциме, 2008
главный герой, Данни Ханох, переживший все ужасы Холокоста, кочуя из одного концлагеря в другой исполняет свою мечту: возвращается, чтобы посетить лагеря вместе со своими детьми. у него есть план, он хочет снова переночевать в бараке. воспоминания о кошмаре становятся травмой для следующего поколения. #doc
Fifi az khoshhali zooze mikeshad, 2013
Фифи воет от счастья
r. Mitra Farahani
полу-забытый иранский художник и скульптор Бахман Мохассес давно покинувший Тегеран живёт в итальянском отеле. он ужасающе хохочет и кашляет и с упоением рассказывает (листая каталог своих работ) как он уничтожал их. потому что не хочет оставаться в памяти потомков.
получение нового заказа обрекает на невозможность нахождения правильного оттенка краски. желание курить выступает против кашля. а камера, установленная так чтобы точно заснять первое касание кисти, по иронии записывает последние звуки.
расстояние между художником и картиной, режиссёркой (которая фарахани, но не родственница другому фарахани) и фильмом постоянно пружинит и чуть меняется пока они общаются между собой, но кажется что ни фильм, ни каталоги, ни заказчики не вызывает такого трепета как (портрет?) Фифи. такое не продаётся.
и сколько бы Мохассес не рвал свои картины раньше и не язвил вот тут он и есть. ну и нет его тоже тут.
#doc
#pulpnonfiction#doc
«Венедикт Ерофеев: посторонний». Олег Лекманов, Михаил Свердлов, Илья Симановский (РЕШ, 2018)
Биография Венички, сделанная в технике монтажа фактов и воспоминаний, запараллелена литературоведческому анализу поэмы «Москва-Петушки». Краткий вердикт: читать, подавляя мысли «ну как же так-то».
Текст про эту книгу внезапно нашел отклик у аудитории Дзена (только не читайте комментарии, просто не читайте комментарии).
#pulpnonfiction#doc
«Батенька, да вы трансформер» или «Как стать знаменитым, счастливым, найти себя и свою любовь, предсказать будущее и вылечить все болезни»
1. Для тех кто не следит за «звездами соцсети» (а именно так называется серия АСТ, в которой вышла эта книга): «Батенька, да вы трансформер» — это своеобразное, но очень любопытное медиа, напоминающее одновременно и «Русского репортера», и «Русскую жизнь».
2. В магазине книга стояла на полке «Самиздат», но в книжном понимании это, конечно, никакой не самиздат, а издание тиражом 2000 экземпляров со всеми прелестями АСТ: газетная бумага, плохая техническая верстка и корректура ниже плинтуса (корректора в выходных данных нет в принципе).
3. Верстка веб-статей перенесена в печатную книгу буквально: с батеньковским шрифтом, флаговым набором, отступами под буквицами, прерывистыми линиями на шмуцах и так далее. Не заморачивались ребята.
4. А еще в книге, конечно, нет замечательных иллюстраций, коубов и видео (или qr- кодов), которые есть в вебе
#рекурсия#doc
Дочитала сборник статей Аркадия Мильчина (тот самый, написавший «Справочник издателя и автора») о культуре издания книг. Общий посыл: правила оформления нужны не потому что так принято и такой ГОСТ (с ГОСТами Мильчин иногда спорит), а потому что поставьте себя на место читателя — как будет удобнее ему?
Если взять с полки несколько случайных книг, то неграмотное оформление будет у каждой второй. А у каждой первой не будет, только потому что это художка русского автора, причем состоящая из одного романа без деления на главы. Хоть подхватывай знамёна и пиши доколе-заметки в «Книжное обозрение».
Типичные ошибки собрала в статье.
My Octopus Teacher, 2020
Мой учитель - осьминог
r. P. Ehrlich, J. Reed
в документалистике тонкая грань между автором и обьектом изучения, а в случае с фильмом про учение осьминога почему-то постоянно кажется что эта грань нарушается. что у дайвера на протяжении года нездоровая одержимость и желание проводить дни в обществе харизматичной мадам осьминог.
#doc#leaveoctopusalone