Применение математических достижений в решении сложных задач бизнеса

Публикация № 1240773

Разработка - Математика и алгоритмы

Как правило, самые сложные задачи решаются с точки зрения математики очень легко. Но чтобы найти правильное решение, важно понять бизнес-цель, которую достигает эта задача. О практическом применении математических достижений для эффективного решения сложных задач бизнеса на конференции Infostart Event 2019 Inception рассказал Дмитрий Мишнов.

Меня зовут Дмитрий Мишнов. Я руководитель проектов, с продуктами 1С работаю около 12 лет. Сам я по образованию математик, и как-то так еще с университета сложилось, что интересы у меня связаны с разработкой и построением экспертных систем, использованием различных инновационных продуктов. В то время инновационными были нейросети, они и сейчас набирают все большую и большую популярность, а также аналитические системы – статистические анализаторы.

И сегодня я хотел бы поговорить об очень важном, как мне кажется, вопросе об использовании математических достижений непосредственно в бизнесе. Наверное, у всех, кто сталкивались с математиками, есть впечатление, что они очень замкнутые, «сами в себе», что-то непонятное делают – с ними тяжело находить общий язык. И основная проблема математиков действительно в этом – те математики, которые достигли высоких результатов, действительно очень умные, они делают очень классные вещи, но самая большая проблема у них в том, что они не всегда умеют применить на практике те достижения, которых они достигли. Поэтому иногда приходится выступать некоторым транслятором:

  • Есть бизнес с какими-то своими задачами, которые не решаются простыми алгоритмами. Бизнес пытается их решать простыми алгоритмами, но результат из этого выходит плохой.
  • Есть математики, у которых есть подобная задача, построенная в некоторой математической модели.
  • И посередине между ними должен быть человек, который может и с бизнесом пообщаться – понять, в чем задача, и суметь поставить эту задачу математикам так, чтобы они сразу сказали – мы эту задачу знаем, у нас для нее есть оптимальное решение.

Поэтому я призываю всех разработчиков, которые хотят развиваться, хотят, чтобы у них были какие-то профессиональные результаты (у них и в компании, в которой они работают), чтобы они не шли по простому пути – когда просто есть какое-то техзадание, и мы делаем это техзадание за зарплату. Я призываю разбираться в том, насколько адекватно построено техзадание, насколько оптимален алгоритм, который предлагает его реализовать.

И еще, как дополнение. Если человек начинает в этом разбираться, он становится ближе к бизнесу – он понимает цель, которую достигает эта задача. Не все программисты, когда реализуют задачу, это понимают. Нужно понять: в чем боль, какие плюсы получит компания, когда мы реализуем эту задачу, сколько денег компания сможет сэкономить. Либо она сможет привлечь новых клиентов, и у нее появятся новые обороты. В этом тоже важно участвовать.

 

История вопроса

Как вообще так сложилось, что я начал как-то решать эти сложные задачи? Изначально те сложные задачи, которые у меня возникали, не были связаны с 1С. В частности, у меня был проект оптимизации показа баннеров в интернете: большая рекламная компания, для которой нужно было делать ротацию этих баннеров – какой баннер какому человеку показать, чтобы шанс, что он на него нажмет, был выше.

Когда мы решали эту задачу, нам казалось, что ее решить очень сложно. Изначально у нас использовался алгоритм, основанный на каких-то условиях – он состоял из огромной блок-схемы, которая была построена на примитивных выборках и ограничении информации, на основе чего мы потом делали какой-то вывод.

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

Грубо говоря, два месяца команда из пяти человек, которые зарабатывают немалый ФОТ, работала впустую. А математик буквально за один час направил их туда, куда им нужно было идти эти два месяца.

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

 

Задача оптимального распределения товаров по магазинам

 

 

Первая задача – это задача оптимального распределения товаров по магазинам. Это боль почти любой торговой компании, у которой есть розничная сеть.

  • У нас есть центральный склад – он представлен сверху.
  • Есть какой-то набор магазинов – их может быть три, пять, сколько угодно.
  • И есть некоторые товары, которые продаются в этих магазинах – их основной запас находится на центральном складе.

И появляется задача распределить эти товары с центрального склада по магазинам. Но как нам понять – какой товар центрального склада привезти в какой магазин, исходя из того, что мы хотим, чтобы магазины давали нам наибольшую выручку?

Очевидная задача – каждый с этим сталкивается. Обычно сидит суперумный человек, который говорит: «Я сейчас открою отчеты, сделаю там выборку, увижу, сколько куда переместить товаров, и все будет нормально».

Так и происходит. Этот человек, который сидит и думает, как все это сделать, здесь представлен в левом нижнем углу. Какие у него есть входные данные?

  • По каждому из магазинов у нас есть статистика продаж: какой товар, когда в каком количестве за какую цену был продан.
  • У нас есть оборачиваемость товаров – что такое оборачиваемость, я надеюсь, объяснять не нужно.
  • И есть некоторые остатки – на центральном складе и в магазинах.

 

Метод решения задачи распределения

 

 

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

Но сначала давайте разберемся, почему нужна именно оборачиваемость. Почти каждый менеджер, который прогнозирует, сколько нужно товара привезти на торговую точку, чтобы была максимальная выручка, чтобы полностью перекрыть потребность, анализирует не оборачиваемость, а продажи за прошлый период. Так вот, чем отличаются продажи за прошлый период от оборачиваемости за прошлый период? Тем, что оборачиваемость показывает нам скорость этих продаж. То есть, если у нас, например, есть товар, который за прошлый месяц был продан в количестве 5, это не значит, что он в следующий месяц тоже будет продан в количестве 5. Он мог быть продан в количестве 5 штук за первые пять дней этого месяца. В результате, нам нужно будет отгрузить уже не 5, а 30. Нам важно мерить скорость продаж, а не просто продажи за некоторый период. Поэтому мы берем оборачиваемость.

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

Как только мы первый раз отгрузили какой-то объем и получили результат, второй раз у нас уже есть какая-то большая статистика. В третий раз еще большая. И таким образом с течением итераций у нас уже есть какая-то более-менее надежная статистика, которой мы можем доверять.

Так вот:

  • Оборачиваемость плюс поправка на достаточность статистики (мы как-то корректируем, иногда занижаем рассчитанные компьютером показатели количества, которые он рассчитал, как потребность) – в результате получается ожидаемая потребность товаров на каждый магазин.
  • Плюс у нас уже есть остатки на центральном складе (то, что мы можем отгрузить), и есть остатки – то, что уже в магазине лежит.
  • С учетом этой информации мы получаем уже распределение товаров по магазинам.

Может так получиться, что потребность товара выше, чем те остатки, которые есть в нашей сети. Как в этом случае поступать? Очевидно, что нужно перемещать эти товары туда, где они лучше всего продаются. Здесь тоже очевидный алгоритм, который можно спокойно использовать.

Какие в этой задаче могут быть ограничения:

  • Размер складов магазинов. Есть очень часто, особенно на столичных рынках, ограничения складского места в магазинах. Мы не можем туда привезти больше некоторого объема или больше некоторого веса. Здесь этот фактор тоже можно учитывать и в моменте распределения выбирать именно те товары, которые наиболее важны для нашего магазина – те товары, на которых мы более всего зарабатываем, и их в первую очередь отгружать.
  • Грузоподъемность и объем транспорта – тот транспорт, который к нам возит товары в магазины, не может погрузить больше, чем это физически возможно.
  • Периодичность перевозок. Для какого-то магазина у нас одна периодичность – например, каждые три дня. Где-то магазин далеко находится – там раз в семь дней и т.д. Это тоже можно обязательно учитывать.
  • Плюс есть еще некоторый фактор ассортиментной матрицы. Например, у меня по моему опыту было даже требование заказчика, что какой-то товар, даже если он не продается всегда, все равно должен быть в магазине. Как правило, это связано с топовыми товарами, чтобы люди приходили и знали, что он всегда там будет – не факт, что они его купят, но их это интересует, они могут прийти и отвлечься на какой-то другой товар, сделать какую-то конверсию с другими уже товарами.

 

Результаты решения задачи распределения

 

 

Давайте теперь рассмотрим, какие результаты мы получили от решения этой задачи.

  • Так как у нас учитывается оборачиваемость, а не просто статистика продаж, это решение отлично работает для новых товаров. Мы начинаем замерять, насколько быстро товар начинает продаваться. Даже если мы небольшое количество отгружаем в магазин, мы уже понимаем скорость, с которой это у нас продается.
  • Повысилась эффективность товарных запасов – мы стали продавать больше, чем раньше. Мы оптимизировали потребность в товарах для покупателей, сделали более гибкой, и тем самым мы повысили и лояльность покупателей, и возможность, чтобы покупатели могли к нам прийти и купить конкретный товар.
  • Снизились трудозатраты – это очень важно. Когда есть некоторый отдел, который занимается этими распределениями, и есть какая-то быстрорастущая торговая сеть (например, год назад у нее было 20 магазинов, а через год у нее стало 150 магазинов), то тот ручной труд, который изначально был, начинает отнимать у этих людей очень большое время. Они начинают говорить, что не успевают, что нужно искать еще людей в отдел. А когда в этой сфере есть какая-то автоматизированная система, мы можем просто ее использовать. Конечно, нужно проверять за ней, что она рассчитала, но все равно это очень сильно снижает трудозатраты. И мы можем просто это время, которое мы высвобождаем у наших логистов, использовать для других задач в нашем бизнесе.
  • И, как следствие того, что увеличилась эффективность товарных запасов – у нас увеличилась выручка в товарной сети. На моей практике она выросла примерно на 15%.

 

Задача формирования ценообразования для товаров с условно-постоянным спросом

 

 

Следующая задача, которую я хотел обсудить – это задача формирования ценообразования. Сейчас очень большой тренд – все хотят внедрить какие-то интересные схемы по ценообразованию, и многим приходится решать эти задачи.

 

 

Рассмотрим упрощенную задачу – нужно организовать ценообразование для товаров с условно-постоянным спросом.

Товары с условно-постоянным спросом – это товары, у которых доходность не меняется с течением времени. Как правило, это товары, связанные с корзиной массового потребления – какие-то хлебобулочные изделия, что-то, связанное с молоком – то, что люди берут постоянно.

И, например, у нас есть организация, которая начала производить какой-то товар, и мы ожидаем на этот товар условно-постоянный спрос. Аналогичного товара у конкурентов нет. Мы не можем замерить, по какой цене нам продавать, потому что конкуренты такое не продают. У нас появляется задача – с какой ценой нам продавать? Мы можем брать этот товар, мы знаем его себестоимость.

  • Мы можем выставить его по высокой цене и продавать его меньше, потому что спрос будет меньше, так как цена выше.
  • Мы можем выставить по более низкой цене. Тогда у нас будет спрос больше, и количество продаж больше.

Но где этот баланс? Где найти оптимум – по какой цене его продавать?

 

 

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

Задача очень интересная и простая – она легко гуглится, к ней есть детальное описание, описан алгоритм.

Мы приходим в казино с некоторым количеством монет. А в казино есть некоторое количество «одноруких бандитов» («однорукий бандит» – это автомат с ручкой, который выдает какой-то результат – либо ты ничего не выиграл, либо у тебя какой-то выигрыш) – есть N таких автоматов. Мы кидаем монетку, крутим, получаем выигрыш и т.д. Таким образом, расходуем все монетки.

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

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

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

 

 

Мы можем свести нашу задачу из бизнеса про цены (про которую мы сейчас говорили) к алгоритму решения математической задачи про многоруких бандитов:

  • у нас есть N одноруких бандитов – для нашей задачи это N вариантов цен (определяем минимальные и максимальные цены, определяем некоторый шаг, с которым мы можем эти цены разбить);
  • прайс – это цена;
  • а Gross – профит для каждой цены (валовая прибыль). Что такое валовая прибыль, я думаю, объяснять не надо – это то, сколько компания зарабатывает с продаж. В принципе, это одна из самых главных целей любой коммерческой компании – зарабатывать, увеличивать свою валовую прибыль.

Задача у нас такая – мы хотим продавать по такой цене, чтобы у нас валовая прибыль стремилась к максимуму. Соответственно, мы ставим целевую функцию, чтобы максимизировать валовую прибыль – определяем, по какой цене мы можем товар продавать.

По оси X – это у нас итерации, с которыми проходит каждое событие (на первой итерации у нас одна цена, на второй итерации – другая и т.д. до девятой итерации).

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

Мы не говорим, что везде продаем этот товар по одной цене – мы можем поставить диапазон цен, который будет зависеть от местоположения магазина.

В некоторых магазинах (например, в Магните) была такая практика – у товара был не ценник, который вручную написан, а было некоторое табло. И оно менялось с помощью компьютера. Компьютер по какому-то алгоритму обновлял цены, и у нас на табло уже светилась новая цена.

 

Динамическое ценообразование

 

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

  • время года;
  • будни\выходные;
  • и т.д.

Например, летом товар продается с одной ценой (и при этом мы летом имеем максимальную валовую прибыль), а зимой он продается с другой ценой. Например, летом можно с максимальной прибылью продавать мороженое, а зимой – кофе. Условно, на что выше спрос, за что люди готовы платить.

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

Есть некоторые метрики, которые, может быть, даже и не очевидны вам. Их можно искать с помощью программ, которые называются статистические анализаторы – в том числе и для 1С есть решения на Инфостарте. Мы можем как-то выискивать эти метрики в данных, которые у нас есть, решая, таким образом, как раз эту задачу динамического ценообразования.

 

Примеры задач, которые можно решать математическими методами

 

 

Давайте теперь тогда обсудим, какие задачи у нас могут быть решены, и как мы их будем решать.

  • Первая задача – это задача оптимального закупа товаров при условии ограничения бюджета и опять же, складского места. Эта задача похожа на ту задачу, которую мы первой обсуждали (задача распределения товаров по магазинам), только здесь нам требуется товар не с центрального склада на магазины переместить, а понять – сколько на центральный склад закупить товара, чтобы нам хватило на нашу сеть. Такую задачу я тоже решал – мы выводили некоторую величину доходности торговой точки для определенного товара. Например, у нас есть торговая точка, где находится товар, и мы высчитываем, сколько прибыли он нам приносит на этой торговой точке (например, определенная модель телефона в среднем по сети нам приносит 1500 рублей в день с каждого магазина). Опять же, максимизация. Нужно всегда отталкиваться от того, какие цели у компании. Если у нашей торговой компании цель – зарабатывать больше, соответственно, мы должны как-то к этой цели двигаться и от нее искать алгоритмы.
  • Задача оптимального размещения товаров на витрине. У нас есть варианты, как нам расставить товары. Мы можем их поставить снизу, справа, сверху, сбоку. Можем компоновать что ближе, что дальше – в зависимости от того, где находится вход у нас в магазине. Соответственно, меняя разную компоновку нахождения товаров в магазине, мы можем увеличивать доходность. Мы не меняем запасы. Мы просто меняем местами товары и смотрим, что у нас получается. Более того, мы не сами это определяем, что с чем поменять, а система говорит нам – сегодня ты переставляешь этот товар туда, а этот товар на это место. И система смотрит эти результаты после того, как этот товар переставили. И дальше уже следующую рекомендацию дает. Таким образом, мы тоже приходим к какой-то модели, которая дает нам увеличение нашей выручки.
  • Задача определения ассортиментной матрицы. Я думаю, многие из вас эту задачу решали. Нам нужно понимать ключевые товары, которыми мы торгуем. Здесь есть детализация – мы можем составлять ассортиментную матрицу для отдела закупа не просто на статистике, а считать ее по каким-то метрикам, с какими-то дополнительными инструментами.
  • И четвертая задача – это определение оптимальной мотивации сотрудников. Ее мне тоже приходилось решать. Опять же, у нас есть продавцы, и есть магазины. Продавцы обслуживают клиентов, продают товар. Нам нужно понимать, как нам мотивировать этих продавцов, чтобы они продавали больше. Мы строим разную мотивацию. Мы можем просто отчислять им определенный процент от продажи – но как решить, какой именно процент будет оптимальным? Поскольку цель компании – зарабатывать больше, нам нужно оптимизировать валовую прибыль. Мы можем построить математическую модель и решить эту задачу очень просто – мы можем с помощью нескольких итераций, с помощью нескольких тестов прийти к оптимальному решению. Некоторая оптимальная мотивация, которая дает нам и заинтересованность продавцов, и при этом у нас не сильно валовая прибыль уменьшается. Мы находимся в разумном, оптимальном положении.

 

Вопросы

 

  • Я не очень понимаю аналогию, почему вы считаете задачу про многорукого бандита марковским (случайным) процессом. Люди помнят, какая цена была вчера и, если устраивать такую резкую смену цен, многие будут считать: «Да они обнаглели! Это вчера стоило 200 рублей, а сегодня уже 300». И даже если человеку вполне по карману купить этот товар, и цена в принципе разумная, тот факт, что товар подорожал в полтора раза, будет препятствовать покупке и исказит вам статистику.
  • Да, я согласен, что есть такая проблема, но эта проблема будет наблюдаться только на этапе, когда система обучается.
  • Вот именно, вы обучите систему на некорректных данных и получите соответствующий результат.
  • Почему на некорректных? Мы сделали цену 300, но покупатели не покупают.
  • Можно ли как-то учитывать в модели поправку на репутационный риск?
  • Вы имеете в виду, что лояльность покупателей страдает? Можно сделать фактор максимального увеличения цены, которое мы можем делать – чтобы как-то занижать. Да, мы будем решать задачу дольше, но мы будем этот фактор уменьшать. Это все тоже можно настраивать. Более того, я вам могу сказать точно, что сейчас крупные торговые компании, в том числе РЖД – если вы с разных телефонов, с разных устройств заходите на их сайт и хотите купить какой-то билет, там будут разные цены. И у меня есть знакомый, у которого iPhone, и он специально купил себе телефон на Android, чтобы у него была возможность покупать билеты дешевле.
  • Я правильно понимаю, что в первом примере (про рекламу) примерно то же самое – там параметризация, перебор итераций и подбор параметров для оптимизации кликов. Там же не выручка – там конверсия какая-то.
  • В примере, который я приводил про оптимизацию показов баннеров, необязательно имелись в виду именно баннеры – это могла быть просто оптимизация показов контента на некотором сайте. Эта задача решается по аналогии с задачей о многоруком бандите. У нас есть некоторая доходность, про которую мы говорим, причем она необязательно измеряется в деньгах – нашей задачей может просто увеличение времени нахождения человека на нашем ресурсе. Здесь важно определить целевую функцию. Очень часто проблема в том, что решается задача с неправильной целевой функцией, и получаются плохие результаты. Важно правильно ставить целевую функцию. Мы должны не увеличивать выручку, мы должны увеличивать валовую прибыль. Такие вещи, казалось бы, очевидные. Но часто изначально, когда мы понимаем, что задача есть, и ставим неправильную целевую функцию, мы находим решение не той задачи, которая нам нужна.
  • Хотелось бы узнать больше конкретики – какие математические аппараты вы используете? Линейное программирование или что? И второй вопрос – все это писалось на 1С? И как 1С проявляла себя по времени работы и т.д.?
  • По поводу того, какие аппараты использовались: во-первых, я призываю всех не придумывать велосипед с квадратными колесами. Если есть какое-то готовое решение, если есть на том же Инфостарте какие-то решения – смело их применяйте. Может быть, чуть-чуть обтесать, обточить и использовать. В моей практике мы в основном делали решение сразу на 1С. У нас там не было суперсложных в обучении систем, которые требуют больших серверных ресурсов. Но в принципе ничего не мешает вам какие-то дополнительные модули, которые есть, и какие-то библиотеки, которые есть уже, существуют, подключать в 1С и использовать их методы. Здесь я только за. И наоборот, даже рекомендую, если такие библиотеки есть, их разумно использовать, потому что скорость, конечно, в 1С гораздо ниже. И если нам нужно какие-то сложные системы обучения запускать, конечно, лучше использовать внешние библиотеки.
  • Вопрос по задаче с распределением по складам. Там было сказано, что вы изначально опробовали этот метод на небольшой партии нового товара. Насколько эта партия была небольшая? Потому что все эти методы практически неприменимы для небольших партий. Это другая уже партия – дискретная и штучный подбор должен быть.
  • Распределение по складам мы пробовали не на небольшой партии, мы делали распределение всех товаров. Я говорил о том, что, когда у нас, например, появляется новый товар, система не может сказать: «давайте этот новый товар распределим в эти магазины». Первая итерация ввода нового товара в сеть идет от человека – по-другому никак. Но когда товар в сети уже появился (обычно он появляется в сети сначала в каком-то небольшом объеме), и есть некоторая статистика, от которой мы можем отталкиваться (пусть она еще не достаточная) – мы уже можем делать какие-то корректировки (относительно тех изначальных количеств, которые были закуплены в нашу сеть). Я об этом говорил. И мы сразу видим скорость продажи. Я рассказывал про оборачиваемость – что ее показатель очень важен как раз для новых товаров, чтобы мы видели этот показатель и продавали больше. Потому что есть товары, которые имеют большой спрос на ближайшие три месяца, а на четвертый месяц спрос падает, потому что выходит что-то новое, и мы на эти моменты можем просто не успеть среагировать, пока у нас наберется статистика. Рынок сейчас такой, что конкуренция очень большая, и нам нужно быть в динамике, нужно быть очень быстрыми и быстро принимать решение – чтобы больше зарабатывать и выжить в этой конкуренции.

 

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. pm74 169 25.05.20 11:50 Сейчас в теме
Понятно , что без математики никуда. А конкретика где ?


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

это в мемориз однозначно
asupsam; kuzyara; starik-2005; dnikolaev; CyberCerber; +5 Ответить
2. Mishnov 19 25.05.20 12:14 Сейчас в теме
(1) Задача о многоруком бандите легко гуглится. А также гуглится ее асимптотически оптимальное решение(алгоритм). На видео есть фраза о том, что это легко можно найти в интернете.
Если я бы ушел в математику и рассказывал как она решается, то все было бы достаточно скучно для публики и это заняло бы весь доклад.
7. dnikolaev 164 25.05.20 14:27 Сейчас в теме
(1) точно. я тоже не увидел никакой конкретики. общие фразы. я руководитель проекта( какого?) .. делал нейросети (для чего??) ..

Михаил. ну правда. )) выглядит как будто сам придумал легенду и сам в нее поверил.
3. CheBurator 3422 25.05.20 12:29 Сейчас в теме
Хороший материал!
также мучают вопросы закупа для розничных точек. и центральный складик есть. все хорошо и подходит.
но.
проблема в том, что у клиента очень подробно расписана номенклатура (с целью саксимизации удовлетовренности клиента типа ответить на вопрос клиента " а есть у вас чехольчик с красненькими цветочками на голубом фоне"). Соответственно , статистика по каждому экземпляру очень малая, так как даже на ходовые модели ассортимент большой, и каждый экземпляр (за исключением совсем ходовых) - малая оборачиваемость какая может быть если за полгода конкретный чехол продался 10 раз а то и меньше?
В итоге - закуп - практически ручная обработка с низкой эффективностью.
Как выявить что является "товаром"...? до каких "характеристик" товара следует укрупнять номенклатуру?
4. Mishnov 19 25.05.20 13:01 Сейчас в теме
(3)
алая оборачиваемость какая может быть если за полгода конкретный чехол продался 10 раз а то и меньше?

Да, сталкивался с такой проблемой именно с чехлами и аксессами для телефонов. Тут по разному можно подходить к решению данной задачи:
1) Укрупнение до категории товара на конкретную модель. Например, чехлы для Xiaomi Note 4 Pro. Считаем потребность общую как будто это один товар. А далее это количество распределяем на разные цвета, цветочки и т.д.
2) Мотивируем продавцов на продажу аксессов для телефонов, т.к. на них бОльшая маржа. В этом случае качественнее прогнозируем потребность именно в телефонах и к каждому телефону, перемещаемому на точку, кладем 2-3 неповторяющихся аксесса впридачу. Помимо этого, если покупателя не устроила расцветка или дизайн или качество, должна быть возможность у продавца посмотреть наличие аксессов к этому телефону на других ближайших точках и либо направить туда покупателя, либо заказать этот аксесс к себе на точку, чтобы покупатель смог зайти и приобрести попозже.
Но, на практике скажу, что аксессы в розничных сетях приобретают как раз те, кто сильно их выбирать не будет и выберет из того, что есть. Более требоватеные просто купят телефон, а потом найдут нужный себе чехол через интернет.

2 схема точно работает, опробовано в деле.

Насколько часто покупатель покупает разные аксессы без покупки телефона? На этот вопрос нужно для начала ответить, чтобы выбирать подходящую схему обеспечения. В учетной системе должна быть возможность замерять такую аналитику.
Аксессы, как и сами телефоны, товар очень быстро устаревающий в наше современное время, поэтому необходимо об этом не забывать и всегда делать поправку при закупе. Тут без экспертных знаний не обойтись.
5. CheBurator 3422 25.05.20 13:41 Сейчас в теме
(4) "1) Укрупнение до категории товара на конкретную модель. Например, чехлы для Xiaomi Note 4 Pro. Считаем потребность общую как будто это один товар. А далее это количество распределяем на разные цвета, цветочки и т.д."
- до этого я и сам дошел. Вопрос - как "это количество распределяем на разные цвета, цветочки и т.д." - методом экспертного мнения?
6. CheBurator 3422 25.05.20 13:48 Сейчас в теме
(4)
Насколько часто покупатель покупает разные аксессы без покупки телефона?

- точки телефонами не торгуют. аксесами только - чехлами и сопуткой. большой неликвид. вот и думаю, как ликвидировать/уменьшить. пока вменяемого не придумал, кроме как первым этапом перейти на более "укрупненный" товар. Опять же - укрупнять насколько? до модели телефона? - вряд ли? как минимум до типов чехлов - силикон/принт/кожа/итд. Опять же вопрос- наскольо до типов чехлов укрупнять? что является ЗНАЧИМЫМИ признаками для продажи, на которые ориентироваться при закупе? делить модели/рисунки ну хотя бы на "мужские/женские/унисекс"...? по цветам делит? потому что есть явно более обороачиваемые ЦВЕТА - красный и черный для кожи. как вычислить вообще значимые для продажи признаки товара, на которые опираться при закупе?
8. Mishnov 19 25.05.20 14:39 Сейчас в теме
(6)
. Опять же вопрос- наскольо до типов чехлов укрупнять? что является ЗНАЧИМЫМИ признаками для продажи, на которые ориентироваться при закупе? делить модели/рисунки ну хотя бы на "мужские/женские/унисекс"...? по цветам делит? потому что есть явно более обороачиваемые ЦВЕТА - красный и черный для кожи. как вычислить вообще значимые для продажи признаки товара, на которые опираться при закупе?

Укрупнять до такого объема, чтобы статистика была достаточной, для того, чтобы сделать выводы. Критерии достаточности можно получить экспертным мнением по Вашей сфере. Если Вы хотите получить значимые признаки для продажи, то можно решать данную задачу некоторым статистическим анализатором.
1) Нужно ввести свойства товара, которые мы можем замерить из занести в учетную систему. В Вашем случае это может быть цвет, материал, рисунок, размер и т.д.
2) Вносим значения свойств для каждого товара в учетную систему.
3) Строим целевую функцию. Например, мы хотим рассчитать какие самые значимые признаки у нас влияют на валовую прибыль(Валовая прибыль = Продажи - Себестоимость).
4) Запускаем статистический анализатор по собранным данным и свойствам. Статистический анализатор перебирает все измерения. Сначала по одному измерений(например, цвет), потом по парам измерений(цвет + материал), потом по тройкам измерений и т.д.
По каждому набору измерений вычисляется целевая функция и сравнивается со средним значением целевой функции в целом по поляне по данному виду товара. Берем в расчет только те случаи, где при определенных наборах измерений наша статистика для нас достаточна. Так вот после этих всех замеров выбираем ТОП 10-20 отклонений в плюс - это и будет самые значимые наборы признаков, которые позволяют нам хорошо зарабатывать(по которым сильно больше среднего валовая прибыль). А ТОП 10-20 снизу будут те товары, которые нам особо результата не приносят или даже приносят отрицательный результат.

Этот подход работает только в том случае, если у нас отличная объемная статистика продаж. Если статистики совсем не много, то такие инструменты результата не принесут.
9. CheBurator 3422 25.05.20 15:15 Сейчас в теме
(8)
отличная объемная статистика продаж

это понятно...
проблема в том что если "разложить" по характеристикам - то да, красного покупают много. извините, но красный мне закупить надо на конкретную модель.
если разложить по моделям - цвет-модель - получится, например, вообще малая статистика по конкретномуцвету-конкретной модели. и дальше как тогда? опять "экспертное мнение"..?
.
все проблемы с короткоживущим товаром. например диски с фильмами когда в ходу были - диск ждивет неделя-две. за это время 0-20 продаж. Вопрос - дальше как планировать на такой статистике?...
возможно - и скорее всего - я чего-то не понимаю...
10. CheBurator 3422 25.05.20 15:17 Сейчас в теме
(8)
Если Вы хотите получить значимые признаки для продажи, то можно решать данную задачу некоторым статистическим анализатором.

- была у меня такая мысль. получить выборку, разложенную по "характеристикам" - скажем так - не проблема.
а "статистический анализатор" - это что где и как пользоваться? готовый пакет какой-нить тим математики/матлаба? или что-то иное специализированное:?
13. Mishnov 19 25.05.20 18:13 Сейчас в теме
(10)
а "статистический анализатор" - это что где и как пользоваться? готовый пакет какой-нить тим математики/матлаба? или что-то иное специализированное:?

Именно в таком виде я готового не встречал. На базе 1С такие вещи реализовывали. Получали выборку, обрабатывали и записывали результат в отдельный документ. А потом анализировали результаты.
11. CheBurator 3422 25.05.20 15:18 Сейчас в теме
(8)
если у нас отличная объемная статистика продаж.

- "в граммах это сколько"..? как это понять - достаточно статистики или нет?
12. papami 30 25.05.20 17:39 Сейчас в теме
(11) В автобизнесе тот же VAG анализирует все продажи по рынку и с учетом локальных продаж рекомендует конкретному ДЦ что держать на складе.

Потом еще в расчетах учитывают выборки. Грубо говоря количество покупок, а не количество товара. Условно пришел один человек и купил разом 100 флешек. Нужно эти 100 штук брать в расчет или нет? А если это не флешки, а гвозди? Все очень индивидуально.
14. Mishnov 19 25.05.20 18:18 Сейчас в теме
(11)
Да, все очень индивидуально. Сильно зависит от объема продаж и что за товар. Насколько спрос на него может быть волонтильным. Можно строить референтный интервал, но как правило все сводится к некоторому простому условию вида "больше 15 продаж в месяц на одной ТТ это достаточная статистика". Соответственно если мы эти 15 продаж разделим еще и по 5 цветам, то наверняка это уже будет недостаточная статистика для того, чтобы доверять ей.
15. CheBurator 3422 25.05.20 18:30 Сейчас в теме
(14) "Соответственно если мы эти 15 продаж разделим еще и по 5 цветам, то наверняка это уже будет недостаточная статистика для того, чтобы доверять ей."
вот про то и речь
16. egorovntn 224 28.05.20 11:31 Сейчас в теме
Нобелевские премии математика не дают, у Нобеля был дуг математик и он видел как много достижений в математике.


Получили премию следующие математики:
Бертран Рассел. Нобелевская премия по литературе, 1950
Юджин Вигнер. Нобелевская премия по физике, 1963
Леонид Канторович. Нобелевская премия по экономике, 1975
Джон Нэш. Нобелевская премия по экономике, 1994 (Игры разума)
17. Terve!R 02.06.20 09:58 Сейчас в теме
Так вот, кто придумал, что Яндекс.Такси дороже на айфонах?)
Оставьте свое сообщение

См. также

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    32536    0    ids79    40    

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Математика и алгоритмы Производительность и оптимизация (HighLoad) Бесплатно (free)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    4432    0    ildarovich    7    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    4238    0    randomus    18    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    24566    0    YPermitin    24    

Как работает серверный вызов в 1С Промо

Математика и алгоритмы v8::УФ Бесплатно (free)

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    53673    0    pahich    82    

"Хочу универсально!" [Часть 1]

Математика и алгоритмы Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Сентябрьская серия статей про то, как начинающий разработчик Вася проходит путь от простой задачки к созданию своего механизма. На этот раз - открытие значения из текущей колонки.

02.09.2019    9271    0    SeiOkami    35    

Иерархия без "В ИЕРАРХИИ"

Математика и алгоритмы v8 Бесплатно (free)

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    11382    0    ildarovich    19    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    13551    0    ids79    8    

Будни автоматизации или "мне нужна программка для 3D упаковки" Промо

Практика программирования Математика и алгоритмы Оптовая торговля Оптовая торговля v8 1cv8.cf УУ Бесплатно (free)

Автоматизация отечественных предприятий, которой приходиться заниматься, это нужная и высокооплачиваемая, но довольно нервная работа. Выручает юмор. Например, при общении с требовательным клиентом можно вспомнить анекдот: "Держась руками за стену, на ногах еле стоит мужик. К нему пристает ребенок: "Ну, папа, пожалуйста, сделай мне кораблик!", папа отвечает: "Ага! - Сейчас все брошу и пойду делать тебе кораблик!". Про один такой сделанный для клиента "кораблик" и хочется рассказать. Надеюсь, совместное погружение в теплое ламповое (то есть клиентоориентированное) программирование доставит Вам положительные эмоции, да и задача попалась интересная. Поплыли?

24.03.2014    44434    0    ildarovich    116    

Обработчики событий при записи объектов. Зачем и что за чем?

Математика и алгоритмы v8 Бесплатно (free)

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    40608    4    AlbinaAAA    27    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    25750    0    skv_79    35    

Управление качеством кода

Математика и алгоритмы Рефакторинг и качество кода v8 Бесплатно (free)

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    15501    0    Stepa86    33    

Метод Кларка-Райта. Оптимальное планирование маршрутов грузоперевозок Промо

Математика и алгоритмы Бесплатно (free)

Одной из наиболее важных задач каждого предприятия, осуществляющего доставку грузов в крупных населенных пунктах, является сокращение издержек. Возможное решение данной проблемы заключается в сокращении пробега автотранспорта и, как следствие, уменьшении расхода ГСМ. Появляются такие вопросы ... - СКОЛЬКО НУЖНО МАШИН ДЛЯ РАЗВОЗКИ КОНКРЕТНОГО ОБЪЕМА ГРУЗА ПО АДРЕСАМ ДОСТАВКИ ? - КАК РАЗБИТЬ ТОЧКИ ДОСТАВКИ НА ОПТИМАЛЬНЫЕ ПО ПРОБЕГУ И ЗАГРУЗКЕ МАШИН МАРШРУТЫ ? ... В этой статье Вы найдете один из многих способов получить ответ на эти вопросы.

10.02.2016    58817    0    mi1man    20    

Что делает "В ИЕРАРХИИ" в запросе?

Математика и алгоритмы v8 Бесплатно (free)

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    22570    0    YPermitin    34    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    46224    0    ids79    25    

Реализуем Стек, Очередь и Приоритетную очередь в 1С

Практика программирования Математика и алгоритмы v8 1cv8.cf Россия Бесплатно (free)

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    13405    0    RonX01    65    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    65801    0    tormozit    27    

Почему вообще работает мой запрос? или Ещё раз о планах запросов

Математика и алгоритмы Практика программирования Разработка v8::Запросы Бесплатно (free)

Другие статьи на эту тему объясняют, что такое план выполнения запроса, но не рассказывают о том, как его получить. Эта заметка призвана заполнить этот пробел. Её цель - популяризировать общедоступные инструменты получения плана запроса среди разработчиков, которые ещё не начали их использовать.

10.06.2019    9060    0    DataReducer    12    

Вычисление 200 тысяч знаков числа pi

Математика и алгоритмы v8 Россия Бесплатно (free)

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    7314    0    Oleg_nsk    96    

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты

Практика программирования Математика и алгоритмы Разработка v8 1cv8.cf Бесплатно (free)

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    24479    0    YPermitin    7    

XDTO - это просто Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

С появлением платформы 8.1 фирма “1С” представила механизм, носящий интригующее название XML Data Transfer Objects или, если коротко - XDTO. По традиции, документирование механизма составлял тот, кто хорошо разбирался в вопросе, а стало быть опустил “и так понятные” с его точки зрения моменты. Целью данной статьи (или цикла статей, как получится) стало желание поделиться накопленным опытом. Мне кажется, многие неочевидные вещи в механизме XDTO необходимо осветить получше.

24.12.2012    286714    0    Evil Beaver    173    

Выдержки из книги Чистый код

Математика и алгоритмы Бесплатно (free)

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    9725    0    FreeArcher    105    

Что такое алгоритм?

Математика и алгоритмы Бесплатно (free)

Как ответить на этот вопрос и не попасть пальцем в небо.

25.02.2019    7484    0    mkalimulin    274    

Криптовалюты, а также иные взгляды на природу денег в терминах 1С

Математика и алгоритмы Бесплатно (free)

Это отчасти полемическая статья. Я задумал написать ее как ответ на другую хорошую статью о криптовалютах. Хотелось поспорить с некоторыми утверждениями автора, а ещё больше с некоторыми комментариями. А чтобы текст был более понятным для местной аудитории, я решил использовать, где только возможно, терминологию и практику 1С.

28.01.2019    6014    0    mkalimulin    89    

Самоучитель языка запросов 1С. Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 v8::Запросы Бесплатно (free)

Сервис для изучения запросов 1С: "Консоль изучения запросов 1С:Предприятие 8". Теперь и с конструктором запросов!

07.05.2013    108398    0    bpc222    327    

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое

Математика и алгоритмы Бесплатно (free)

Все современные технологии - это развитие и доведение до ума (или маразма) древних идей. За последнее время не придумали ничего нового - все, что мы видим, было придумано тысячи лет назад. Не является исключением и программирование, которое в сути своей является переводом с языка условностей технического задания или заявки пользователя в формализованный и абсолютно точный язык математической логики. А логику придумали (по крайней мере первыми опубликовались в ведущих научных журналах) еще древние греки.

23.01.2019    11354    0    starik-2005    43    

Роберт Мартин: "Будущее программирования" / Robert Martin: "The Future of Programming"

Математика и алгоритмы Блоги Бесплатно (free)

Перевод-транскрибация выступления.

14.01.2019    15143    0    Vladimir Litvinenko    38    

Предметно-ориентированное проектирование (3D) в 1С. Виртуальная машина. Промо

Математика и алгоритмы Бесплатно (free)

Проектирование программного обеспечения - это постоянная битва за простоту.

03.06.2014    39818    0    Evgen.Ponomarenko    88    

Многоязычное программирование: создание систем с использованием нескольких языков

Математика и алгоритмы Россия Бесплатно (free)

В мире существует несколько тысяч языков программирования. Несмотря на то, что многие из них крайне непопулярны, очень специфичны или уже созданы очень давно, они продолжают существовать, а новые языки продолжают появляться. Похоже, нет оснований полагать, что количество языков когда-нибудь начнет уменьшаться и в конечном счете будет создан один универсальный язык программирования. Большое количество языков может пугать своей необъятностью, но новое понимание идеи многоязычных проектов позволяет не только ориентироваться в этом разнообразии, но и видеть очевидную выгоду для всех.

09.01.2019    10869    0    kalyaka    36    

Размышления о хороших практиках, навеянные одной статьей

Математика и алгоритмы Бесплатно (free)

Прочитал статью "Ректальное программирование: основы для практикующих 1С-программистов". Статья очень хорошая и своевременная. Но у меня возникло некоторое сомнение. А достаточно ли автор любит и понимает предмет, о котором пишет? Насколько богат его опыт ректального программирования и занимался ли он им вообще? Как человек обладающий многолетним опытом РП, я решил представить вам необходимые дополнения к статье.

21.12.2018    6609    0    mkalimulin    61    

Ректальное программирование: основы для практикующих 1С-программистов

Математика и алгоритмы Бесплатно (free)

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    41807    0    for_sale    349    

Решение транспортной задачи запросом Промо

Математика и алгоритмы v8 Бесплатно (free)

Списание по двум последовательностям партий запросом (без программной обработки)

1 стартмани

30.04.2014    34664    10    bforce    22    

Многопоточное восстановление последовательностей

Производительность и оптимизация (HighLoad) Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    12584    0    _ASZ_    33    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

Математика и алгоритмы Практика программирования v8 Россия Бесплатно (free)

У многих начинающих 1С программистов часто возникают вопросы про клиент-серверное взаимодействие в 1С и чтобы разобраться в непростых механизмах платформы, необходимо понять, что же такое контекст, для чего предназначены директивы компиляции, что представляют собой контекстные/внеконтекстные вызовы и как наиболее оптимально описывать прикладные задачи в модулях управляемых форм.

23.08.2018    36552    0    Rain88    46    

Учебный курс. Повышение качества разработки. Ошибки программы

Практика программирования Математика и алгоритмы Рефакторинг и качество кода Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    19162    0    Артано    92    

Парсер запросов 1С. Часть 1: Введение, разбор математических выражений Промо

Математика и алгоритмы v8 Бесплатно (free)

Рано или поздно становится скучно решать типичные задачи, для которых придумана 1С. Голова пухнет от бухгалтерских терминов и очередных "хотелок" пользователей. Именно в такие моменты хочется гордо поднять голову, воскликнуть "Но я же программист!" и заняться чем-то интересным. В цикле статей я постараюсь доступно описать, как устроены парсеры в целом и на примере парсера языка запросов 1С. Требования к навыкам читающего: основы языка 1С, основы алгоритмизации.

1 стартмани

04.12.2013    30316    5    juntatalor    49    

Що там у них в Java

Математика и алгоритмы Бесплатно (free)

Развенчание мифа о тяжёлой жизни не 1С программистов на примере создания веб сервиса редактирования таблички с использованием framework spring в Java.

24.05.2018    10962    0    van_za    62    

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2

Практика программирования Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    12676    0    Артано    36    

Учебный курс. Повышение качества разработки. Вводная лекция

Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста.

10.05.2018    17591    0    Артано    51    

Сервис для изучения методов платформы 1С:Предприятие 8. Бесплатно! Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 Бесплатно (free)

Бесплатный ON-Line сервис изучения методов платформы 1С:Предприятие 8. Подготовка к аттестации 1С:Специалист on-line! Тестовые задания по различным видам учета! Подсказки для оптимального решения!

27.06.2013    49382    0    bpc222    51    

"Взлом" теста "1С:Профессионал" методом машинного обучения

Практика программирования Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

Нейронные сети – не единственная модель, реализующая принципы машинного обучения. Есть еще байесовская модель, которая математически строже и определеннее, поскольку построена на надежном фундаменте теории вероятностей. Применению байесовского вывода к решению интересной теоретической задачи и посвящена данная статья. Слово "взлом" в заголовке использовано для привлечения внимания. Речь идет исключительно о математическом методе, показанном на примере знакомой всем задачи. 

12.03.2018    18713    0    ildarovich    19    

Правила программирования и автоматизации

Математика и алгоритмы Бесплатно (free)

Изложил свой опыт программирования, больше десяти лет.

21.02.2018    18028    0    Dzenn    127    

Творим Историю вместе

Математика и алгоритмы Бесплатно (free)

Расширяем границы, выходим за рамки, ставим новые цели - все, как вы любите.

17.01.2018    17190    0    1c-intelligence    108    

Внутреннее качество разработки конфигураций 1С Промо

Практика программирования Математика и алгоритмы Бесплатно (free)

Пиши с верой в то, что твой читатель - это маньяк с дробовиком, знающий твой домашний адрес. Размышления на тему внутреннего качества кода при разработке/доработках конфигураций 1С.

21.06.2013    37462    0    ig1082    50    

Использование git при разработке на 1С

Математика и алгоритмы Россия Бесплатно (free)

Продолжение цикла статей по основам CI. Данная статья расскажет о реализации возможности хранения кода продукта в системе управления версиями git и познакомит со специализированным инструментарием, предназначенным для решения этой и других смежных задач.

27.12.2017    31647    0    real_MaxA    57    

Об уровне абстракции и сложности системы

Математика и алгоритмы Бесплатно (free)

В среде 1С почти не приходится слышать таких терминов, как уровень абстракции, декомпозиция и управление сложностью. Тем не менее, эти термины следует понимать, а подходы применять на практике, поскольку правильно выбранный уровень абстракции ведет к упрощению и увеличению устойчивости программного кода на порядки.

21.12.2017    12096    0    m-rv    15    

Двоичное дерево, двоичное дерево поиска, двоичная куча, B-дерево

Математика и алгоритмы Бесплатно (free)

В большинстве реляционных СУБД в качестве структуры данных для индексов (та или иная их реализация) используются именно деревья. И не просто деревья, а сбалансированные деревья поиска. В этой статье как раз о них.

24.11.2017    15454    0    Irwin    5    

v8: Концепция минимального изменения конфигурации для легкого обновления Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

"Лучше день потерять потом за пять минут долететь" ((с) "Крылья, ноги и хвосты") или как сделать так чтобы обновление конфигурации проходило с минимальными трудозатратами.

28.01.2013    37638    0    MarSeN    57    

Введение в CI для 1С

Математика и алгоритмы v8 Россия Бесплатно (free)

Значение роли тестирования при разработке ПО трудно переоценить, его применение позволяет повысить надёжность продукта и улучшить качество кода. Для продуктов для платформы 1С:Предприятие существует ряд инструментов для проведения тестирования, в том числе и от самого вендора. Но, также появились открытые инструменты, реализующие мировые практики проведения тестирования (проверки продукта), поддерживаемые сообществом. В этой статье описаны базовые принципы, которые необходимо понимать перед началом применения этих инструментов.

21.11.2017    23054    0    real_MaxA    22    

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода

Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Зачастую почти любой модуль в 1С содержит от одного до несметного множества вызовов других модулей. Как с этим бороться, чтобы было проще куда-то что-то переносить - в этом посте.

12.10.2017    17583    0    for_sale    58