Задача оптимизации, минимизация расходов. Как решать?
От: dimb82  
Дата: 14.05.19 18:06
Оценка:
Допустим, вы директор компании, которая обслуживает станки. У вас несколько тысяч клиентов-заводов. На каждом заводе сотни-тысячи станков.

Каждый станок может выйти из строя. По четырём разным причинам (сломался двигатель, сломалась деталь 1, деталь 2 и т.д.). Стоимость ремонта в каждом случае разная. Для каждого конкретного станка вы можете посчитать стоимость ремонта для всех типов поломок.
На каждом заводе есть ваш работник, который ежедневно проверяет каждый станок. Работник может для каждого станка выполнить тех. действие, которое снизит стоимость ремонта станка. Но тех. действие стоит денег.
Компания на рынке несколько лет, поэтому есть статистика для каждого завода, для каждой модели станка.

Для каждого станка известно:
— стоимость ремонта, если не произвести тех. действие
— стоимость тех. действия
— стоимость ремонта, если произвести тех. действие

И повторюсь, есть статистика по поломкам за предыдущие годы, то есть мы знаем вероятность для каждого типа поломки для каждой модели станка.

Нужно придумать стратегию для обслуживающего работника, чтобы минимизировать общие затраты — ремонт, обслуживание...

Как решаются такие задачи? Моих университетских знаний по мат. статистике и методам оптимизации не хватает здесь.
Вероятно, это ближе к мат. экономике...

Подскажите, пожалуйста, какая наука/область знаний решает такие задачи. Что можно почитать, чтобы научиться решать такие задачи?...

У меня предметная область — не обслуживание станков, но тогда описание задачи было бы ещё туманнее.
Re: Задача оптимизации, минимизация расходов. Как решать?
От: Dym On Россия  
Дата: 14.05.19 18:24
Оценка: 2 (1)
Здравствуйте, dimb82, Вы писали:

D>Подскажите, пожалуйста, какая наука/область знаний решает такие задачи. Что можно почитать, чтобы научиться решать такие задачи?..

Исследование операций (operations research).

D>У меня предметная область — не обслуживание станков, но тогда описание задачи было бы ещё туманнее

А какая предметная область? Вообще для таких задач есть специализированный софт.
Счастье — это Glück!
Re[2]: Задача оптимизации, минимизация расходов. Как решать?
От: dimb82  
Дата: 14.05.19 18:39
Оценка:
DO>А какая предметная область? Вообще для таких задач есть специализированный софт.

На самом деле это хранение данных в облаке Amazon S3/Glacier. Данные хранятся в файлах-архивах. Со временем файлы копятся. Иногда требуется все данные скачать назад. Цена скачивания дорогая, причём дорого не сами гигабайты скачивать, а большая фиксированная цена за 1000 запросов (10GB в одном файле — дёшево, 10GB в 1000 файлах — очень дорого). Есть идея склеивать предыдущие файлы (таким образом уменьшив их общее число), чтобы стоимость потенциального скачивания в будущем не была такой дорогой. На сама склейка тоже стоит денег. И если делать такую склейку каждый раз, то, скорее всего, мы больше потратим, чем смогли бы сэкономить.
Re[3]: Задача оптимизации, минимизация расходов. Как решать?
От: Dym On Россия  
Дата: 14.05.19 18:52
Оценка:
Здравствуйте, dimb82, Вы писали:

D>На самом деле это хранение данных в облаке Amazon S3/Glacier. Данные хранятся в файлах-архивах. Со временем файлы копятся. Иногда требуется все данные скачать назад. Цена скачивания дорогая, причём дорого не сами гигабайты скачивать, а большая фиксированная цена за 1000 запросов (10GB в одном файле — дёшево, 10GB в 1000 файлах — очень дорого). Есть идея склеивать предыдущие файлы (таким образом уменьшив их общее число), чтобы стоимость потенциального скачивания в будущем не была такой дорогой. На сама склейка тоже стоит денег. И если делать такую склейку каждый раз, то, скорее всего, мы больше потратим, чем смогли бы сэкономить.

Так вроде очевидное решение: склейка перед скачиванием. Или какие-то нюансы есть?
Счастье — это Glück!
Re[4]: Задача оптимизации, минимизация расходов. Как решать?
От: dimb82  
Дата: 14.05.19 19:02
Оценка:
DO>Так вроде очевидное решение: склейка перед скачиванием. Или какие-то нюансы есть?
Нюанс такой, что склейку можем делать при добавлении новых файлов (если захотим), но не перед скачиванием.

Если взять исходное сообщение, то там задача со станками, их обслуживанием, поломками и ремонтом.
Склейка здесь — это поменять масло, какую-ту мелкую деталь.
А скачивание — это уже поломка. Поздно менять какую-то пружину, когда уже двигатель сгорел.
Re[5]: Задача оптимизации, минимизация расходов. Как решать?
От: Dym On Россия  
Дата: 14.05.19 19:06
Оценка:
Здравствуйте, dimb82, Вы писали:

DO>>Так вроде очевидное решение: склейка перед скачиванием. Или какие-то нюансы есть?

D>Нюанс такой, что склейку можем делать при добавлении новых файлов (если захотим), но не перед скачиванием.
Ясно, задача сложнее, чем кажется. Для решения нужно погружение в предметную область.
Счастье — это Glück!
Re: Задача оптимизации, минимизация расходов. Как решать?
От: Grizzli  
Дата: 14.05.19 22:27
Оценка: 2 (1)
Здравствуйте, dimb82, Вы писали:

D>Подскажите, пожалуйста, какая наука/область знаний решает такие задачи. Что можно почитать, чтобы научиться решать такие задачи?...


1) построить параметрическую математическую модель, описывающую предметную область.
2) используя существующие платные бесплатные пакеты мат-оптимизации сформулировать задачу оптимизации минимизации расходов. Пакетов куча — бесплатно и modefrontier можно найти.

Далее задачу решать. возможно — решение будет для конкретного работника/конкретной рабочей ситуации, и решать задачу придется каждый раз. Это не долго, если исходная модель будет быстро считать. Возможно — получится найти более менее универсальное глобальное решение.

Но вообще, такие задачи заказывают разного рода специализирующимся на этом деле фирмам. Конечно же, за деньги.
Re[3]: Задача оптимизации, минимизация расходов. Как решать?
От: Sharowarsheg  
Дата: 15.05.19 09:24
Оценка:
Здравствуйте, dimb82, Вы писали:


DO>>А какая предметная область? Вообще для таких задач есть специализированный софт.


D>На самом деле это хранение данных в облаке Amazon S3/Glacier. Данные хранятся в файлах-архивах. Со временем файлы копятся. Иногда требуется все данные скачать назад. Цена скачивания дорогая, причём дорого не сами гигабайты скачивать, а большая фиксированная цена за 1000 запросов (10GB в одном файле — дёшево, 10GB в 1000 файлах — очень дорого). Есть идея склеивать предыдущие файлы (таким образом уменьшив их общее число), чтобы стоимость потенциального скачивания в будущем не была такой дорогой. На сама склейка тоже стоит денег. И если делать такую склейку каждый раз, то, скорее всего, мы больше потратим, чем смогли бы сэкономить.


Должно быть можно прямо вычислить стоимость.

Цена за заливку = среднему числу файлов * среднюю цену склейки * доля склеек

Цена за скачку = число запросов как функция от доли склеек * вероятность того, что понадобится скачка

крути себе долю склеек и ищи минимум (цены за заливку + цены за скачку).
Re: Задача оптимизации, минимизация расходов. Как решать?
От: Александр Кузнецов Россия  
Дата: 15.05.19 10:55
Оценка: 2 (1)
Здравствуйте, dimb82, Вы писали:

D>Как решаются такие задачи? Моих университетских знаний по мат. статистике и методам оптимизации не хватает здесь.

D>Вероятно, это ближе к мат. экономике...

D>Подскажите, пожалуйста, какая наука/область знаний решает такие задачи. Что можно почитать, чтобы научиться решать такие задачи?...


Гуглите минимаксный метод, оптимизационные задачи в экономике и математическое программирование. Судя по описанию — оно в чистом виде. Но в принципе — да, готового софта должно быть много.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re[5]: Задача оптимизации, минимизация расходов. Как решать?
От: wildwind Россия  
Дата: 15.05.19 11:57
Оценка:
Здравствуйте, dimb82, Вы писали:

D>Нюанс такой, что склейку можем делать при добавлении новых файлов (если захотим), но не перед скачиванием.


А что мешает сделать перед скачиванием?
Re[6]: Задача оптимизации, минимизация расходов. Как решать?
От: dimb82  
Дата: 15.05.19 12:36
Оценка:
W>А что мешает сделать перед скачиванием?
Чтобы склеить файлы в хранилище S3/Glacier, их сначала нужно скачать, а это стоит денег (быстро-дорого или медленно-дёшево).
Когда добавляем новый файл, иногда есть возможность получить предыдущие файлы, не качая их из хранилища.
Сама система — это вроде резервного копирования. Берём данные из одного источника и периодически всё копируем в облако.
Re: Задача оптимизации, минимизация расходов. Как решать?
От: Mihas  
Дата: 15.05.19 14:02
Оценка: :)
Здравствуйте, dimb82, Вы писали:

И как эта тема проскочила мимо анекдота?

На прошлой неделе мы с друзьями отправились в ресторан. Сделав
заказ, я обратил внимание, что официант, который нас обслуживал, носит в
кармане рубашки ложку. Поначалу я не придал этому значения, но
осмотревшись, обнаружил, что все официанты таскают в кармане рубашки ложку.
— Для чего ложка? — спросил я подошедшего в очередной раз официанта.
— Видите ли, руководство нашего ресторана наняло фирму Андерсен
Консалтинг для оптимизации наших процессов. Эти парни ковырялись
тут несколько месяцев и пришли к выводу, что мы тратим
очень много времени на то, чтобы сбегать на кухню за чистой ложкой, в случае,
если клиент уронит ее на пол. Это происходит примерно 3 раза в час
за каждым столиком. Имея ложку в кармане, мы экономим полтора
человекочаса за смену...
Хитро, подумал я и продолжил трапезу. По мере насыщения
внимание мое обострялось и я заметил, что у всех официантов из брюк торчит
тонкий шнурок.
— Простите, а для чего шнурок у вас в брюках? — воззвал я к тому
же официанту. Наклонившись ко мне и понизив голос он ответил:
— Та же самая контора, проанализировав нашу работу,
пришла к выводу, что мы тратим очень много времени в
туалете. Ну, знаете, достать, помочиться, вымыть и высушить руки... Так вот,
привязав шнурок к... хм... сами знаете чему, мы можем быстро его
достать, не пользуясь руками, а значит, нам не
нужно мыть руки после посещения туалета, тем самым мы экономим 75%
времени.
— Да, но как же вы... простите... засовываете его обратно, не
пользуясь руками?
Понизив голос еще и наклонившись прямо к моему уху
официант прошептал:
— Я не знаю, как остальные, но я пользуюсь ложкой...

Re[3]: Задача оптимизации, минимизация расходов. Как решать?
От: wildwind Россия  
Дата: 15.05.19 15:39
Оценка: 2 (1)
Здравствуйте, dimb82, Вы писали:


DO>>А какая предметная область? Вообще для таких задач есть специализированный софт.


D>На самом деле это хранение данных в облаке Amazon S3/Glacier. Данные хранятся в файлах-архивах. Со временем файлы копятся. Иногда требуется все данные скачать назад. Цена скачивания дорогая, причём дорого не сами гигабайты скачивать, а большая фиксированная цена за 1000 запросов (10GB в одном файле — дёшево, 10GB в 1000 файлах — очень дорого). Есть идея склеивать предыдущие файлы (таким образом уменьшив их общее число), чтобы стоимость потенциального скачивания в будущем не была такой дорогой. На сама склейка тоже стоит денег. И если делать такую склейку каждый раз, то, скорее всего, мы больше потратим, чем смогли бы сэкономить.


Навскидку, наибольший выигрыш должны дать меры по уменьшению вероятности случаев, когда нужно "скачать все назад".

Поскольку имеем дело с вероятностями и ваша задача не одна из стандартных и уже решенных, нужно моделирование. Построить формальную модель. Закодить ее напрямую, без втискивания в рамки готовых систем. И гонять на ваших данных, периодически актуализируя эти даные.

Область ваша, по-моему все-таки ближе к теории игр. Есть смысл покопаться в архивах, возможно кто-то уже исследовал вашу или очень похожую задачу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.