Küldetésünk

Minden munkafolyamat legértékesebb alkotó eleme az emberi erőforrás.

Kulcskérdés tehát az ezzel való jó sáfárkodás (optimális beosztás keresése).

Diagram of a computer network showing a laptop, servers, a database, and connections between them using HTTPS and TLS encryption. The laptop connects to a cloud server labeled 'Csiri Mobi' through an HTTPS connection. The cloud server connects to a private cloud labeled 'Rostar' through an HTTPS connection. Rostar connects to an application server labeled 'WebLogic' through an HTTPS connection. WebLogic connects to a database labeled 'CsiriBiri' through a JDBC connection and a WFMS (Workflow Management System) labeled 'WebLoglic' through a TLS-encrypted channel.

Rendszer architektúra

Egy privát felhő aminek a szervereit publikus interneten keresztül lehet elérni.
Az üzemeltetés értelemszerűen a Phi Divízió feladata, a verzió patch-ek automatikusan felkerülnek.

Az adatbázisokban anonim adatokat lát csak az üzemeltető, a felhasználók proxy IP címeit tároljuk és csak azokról engedünk be kérést a tűzfalunkon.

TODO

Algoritmikus háttér

A rendszerünk törekszik a műszakterv előírásainak megfelelően kiválasztani a dolgozókat a rendelkezésre álló humán erőforrásból, figyelembe véve a dolgozók szakértelmét (skill-mátrix) és műszak preferenciáikat, mindeközben nem sértve a munkaügyi szabályokat.

Ezen bonyolult feladat megoldásához egy olyan algoritmust fejlesztettünk, amely futás közben tanul a kudarcaiból.

Combination of the Python and Node.js logo

Módszertanunk

Az üzleti folyamatok és algoritmusokat pythonban modellezzük.

Az időkritikus részeket Node.js alatt futó JavaScript-be transzformáljuk

Ők minket választottak:

1_Magyar_Telekom_logo-upscaled.png
2_vodafone_upscaled.png
3_otp-logo-upscaled.png
Generali_upscaled.png
MBH_upscaled.png
MVM_upscaled.png
erste_bank_logo-upscaled.png
k_and_h_logo.svg
TODO

Termék nevek a Phi-Divízióban

Bemutatkozásunk alatt biztosan szerepel a kreatív jelző. Ehhez a jelzőhöz hűen közös ötleteléssel nevezzük el rendszereinket illetve azok moduljait. Csak néhány példa a múltból: Riportoló rendszerünket anno a riportok cserepes elrendezése okán (tile) RepTile-nak, kereszteltük (ami ugye angolul a hüllőt jelenti) - Rep(ortok)Tile(elrendezésben). Annak moduljai pedig a hüllőkhöz híven: Iguanalizátor, KrokoDealer és TalloZoo neveket kapták. De említhetném a múltból a MÁV részére készített RenDezső telefonos alkalmazásunkat vagy a szintén tartozásra figyelmeztető T-nOszogató collection rendszerünket.

Szünetmátrix

„A legritkábban előforduló szünetminta”- elvén működő szünetbeosztó algoritmus

Legyen N db szünetmintánk (egymástól lényegesen eltérőek). Az egyszerűség kedvéért színeket rendeljünk az egyes mintákhoz. (piros, kék, sárga, zöld…) Egy új még szünet nélküli műszak gerenda színét szeretnénk meghatározni, úgy hogy a csoportjába tartozó k db gerendának már van színe. A vezérlő elv: Az új gerenda színe legyen a gerenda időintervallumában legritkábban előforduló szín. Ehhez a többi már kiszínezett gerenda azon részeit (ami lehet az egész gerenda is, ha közös kezdésűek) vesszük figyelembe, amelyek a színezendő új gerenda időintervallumába esnek (eleje és vége közé).

TODO

Multi-skilles automatikus műszakterv készítő (parkettázó) működése

A dolgozók képességei és jelentkező feladatok is több ún. skill-be sorolhatók. Ezekre a skillekre külön-külön készülnek forgalmi görbe becslések. Hogyan lehetne a rendelkezésre álló dolgozói erőforrásokból a leghatékonyabban műszaktervet készíteni úgy, hogy ezeket a terv-görbéket ideálisan fedjük le? Az egyes skill-eloszlások görbe alatti területe, mutatja, hogy összesen mennyi erőforrást igényelnek a tervidőszakban. Nyilván valahogy a skill erőforrás igények arányában kell az egyes dolgozók havi összmunkaidejét megosztani. Ha ezt horizontálisan tennénk, azaz az összóraszámát darabolnánk fel a skillerőforrás igények arányában, nagyon könnyen előállhatna az a helyzet hogy az egyes darabok nem állíthatóak elő az alapidejének egész számú többeseként.