Билинейные формы в народном хозяйстве
Apr. 18th, 2015 01:54 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Выложил на гитхаб библиотечку ermouth/calc, которая за последние 10 лет сэкономила мне кучу денег и времени.
Библиотечка восстанавливает билинейную форму по нескольким значениям. В народном хозяйстве применение самое прямое.
Иногда известна дискретная матрица цен, прайс-лист, и нужно быстро посчитать промежуточные значения. Например вот по печати журналов (скриншотик с гитхаба):
Фишка в том, что в большинстве отраслей народного хозяйства ценообразование – линейная комбинация нескольких параметров. А коль скоро она линейная комбинация, её можно более-менее точно восстановить, зная всего несколько значений.
Библиотечка позволяет скармливать ей прайсы с несколькими колонками и строками – тогда интерполятор будет… эммм… кусочно-билинейной формой, или как это правильно назвать?
Я с помощь этой библиотеки оперативно подбирал подрядчиков. У меня были наборы опорных точек для разных типографий и выбор между ними делал робот.
Нафига это нужно?
Обычно запрос цен в типографию занимает несколько часов – это если повезёт, а иногда и больше суток. А бюджет прикинуть надо вот прямо сейчас как правило.
Аналогично с доставкой. Аналогично с оптимизацией соотношения риск/маржа. Да сплошь и рядом в самом деле.
С этой библиотечкой достаточно запросить один небольшой расчёт (или посчитать самому опорные точки) – и вся картина ценообразования ясна, больше можно не спрашивать.
Применимость в UI
Интерполировать можно и по одной оси. Пример такого отображения – ползунок от 1 до 1000 шириной в 100 пикселей.
Хорошо бы, чтобы первые 10 пикселей цифры шли через 1, потом через 2, потом через 5, 10 и 25. То-есть чтобы дискретность повышалась при увеличении числа.
Это получается например так http://s3-eu-west-1.amazonaws.com/cdn.cloudwall.me/demos/calc-slider.html
Ну и онлайн-калькуляторы конечно. Все, что мы сделали, используют эту библиотечку.
Клиент даёт опорные точку, которые считает их экономист, они вставляются в калькулятор табличкой – а сайт делает всё остальное. Промежуточные значения интерполируются.
Ну и тизер в конце. Вообще, билинейная форма – это (0,2)-тензор. Но про тензоры в народном хозяйстве я в другой раз расскажу, да.