Kontakty

„Úzke miesto“, čo to je? Identifikácia úzkych miest vo výrobnom programe Metódy na odstránenie úzkych miest zahŕňajú:

Existuje táto štatistika: 20 % kódu sa vykoná 80 % času. Jeho presnosť
sotva plne zodpovedá skutočnému stavu vecí, ale tu je všeobecný význam
celkom zaujímavé: ukazuje sa, že optimalizácia celej aplikácie je úloha
nevďačný a hlúpy, a skutočné výsledky možno dosiahnuť len ich optimalizáciou
20 % aplikácií, ktorých spustenie trvá najdlhšie. Navyše nájsť týchto 20 % nie je také jednoduché
a ťažké.

V tomto článku budeme hovoriť o profilovanie. Podľa Wikipédie,
profilovanie nie je nič iné ako „zhromažďovanie charakteristík fungovania programu, napr
ako čas vykonania jednotlivých fragmentov, počet správne predpovedaných podmienených
prechody, počet vynechaní vyrovnávacej pamäte atď.“ Preložené do ruštiny, toto je
znamená „identifikovať úzke miesta programy“ (alebo, ako hovoria anglofili,
"úzke miesta"), konkrétne všetky tie časti kódu, v ktorých je program
začne „skĺznuť“, čo núti používateľa čakať.

Najjednoduchšie profilovanie sa dá urobiť holými rukami (a nižšie ukážem
ako to urobiť), ale je lepšie spoľahnúť sa na komunitu, ktorej zástupcovia
všetko už bolo vytvorené potrebné nástroje. Prvý a najobľúbenejší nástroj
má názov GNU Profiler (alebo gprof). Používa sa po stáročia na
profilovací kód vygenerovaný kompilátorom GCC. Po druhé – pokrytie GNU
testovací nástroj (gcov), nástroj na podrobnejšiu analýzu výkonu.
Treťou je sada nástrojov na ladenie a profilovanie pod všeobecným názvom Google
Nástroje výkonu (skrátene GPT). No a štvrtý je Valgrind, ktorý minimálne
a je určený na vyhľadávanie chýb pri práci s pamäťou, ale obsahuje vo svojom arzenáli
množstvo nástrojov na analýzu výkonnosti programu.

Začnime podľa očakávania klasikou.

GNU Profiler

GNU Profiler(gprof) je jedným z najstarších dostupných profilovačov
operačné systémy ako UNIX. Je súčasťou balíka gcc, a preto môže
použiť na profilovanie programov napísaných v akomkoľvek podporovanom jazyku
ich jazyk (a to nie je len C/C++, ale aj Objective-C, Ada, Java).

gprof sám o sebe nie je nástrojom na profilovanie, ale iba umožňuje
zobraziť štatistiky profilu, ktoré aplikácia zhromaždí počas
pracovať (je samozrejmé, žiadna aplikácia to štandardne nerobí,
ale môže sa spustiť, ak vytvoríte program s argumentom "-pg").

Pozrime sa, ako to funguje v reálnych podmienkach. Všetko cítiť
výhody gprof, nebudeme to aplikovať na nejaké abstraktné, umelé
vytvorenú aplikáciu, ale do tej skutočnej, ktorá sa používa každý deň. Nechaj
bude to gzip.

Prijímame a rozbaľujeme zdroje archivátora:

$ wget www.gzip.org/gzip-1.3.3.tar.gz
$ tar -xzf gzip-1.3.3.tar.gz
$ cd gzip-1.3.3

Nainštalujte nástroje potrebné na zostavenie (v Ubuntu sa to robí
prostredníctvom inštalácie metabalíka nevyhnutného na zostavenie):

$ sudo apt-get install build-essential

Konfigurátor zostavenia spustíme odovzdaním argumentu CFLAGS premennej prostredia
"-pg":

$CFLAGS="-pg" ./configure

Kompilácia programu:

Teraz máme binárny súbor gzip, ktorý dokáže uchovávať svoje štatistiky
exekúcie. Pri každom spustení bude sprevádzané vygenerovaním súboru gmon.out:


$ ls -l gmon.out
-rw-r--r-- 1 j1m j1m 24406 2010-11-19 14:47 gmon.out

Tento súbor nie je určený na čítanie ľuďmi, ale môže byť použitý
vytvorenie podrobnej správy o vykonaní:

$ gprof ./gzip gmon.out > gzip-profile.txt

Najdôležitejšia časť výsledného súboru je zobrazená na snímke obrazovky.

Každý riadok je štatistika vykonania jednej funkcie, stĺpce sú rôzne
ukazovatele. Nás zaujíma prvý, tretí, štvrtý a siedmy stĺpec. Oni
zobrazenie informácií o celkovom čase strávenom na vykonaní
funkcia (prvý stĺpec je v percentách, tretí je v sekundách), jej množstvo
hovory a meno.

Skúsme správu analyzovať. Prvá na zozname je funkcia vypustenia,
ktorý bol zavolaný iba raz, ale „zhltol“ 29 % z celkového času vykonania
programy. Toto je implementácia kompresného algoritmu a ak by sme sa stretli s
úlohou optimalizácie gzip je miesto, kde by sme mali začať. 22 % času
trvalo vykonať funkciu longest_match, ale na rozdiel od deflate to tak bolo
bol volaný až 450 613 081-krát, takže každé jednotlivé volanie funkcie trvalo
zanedbateľné množstvo času. Toto je druhý kandidát na optimalizáciu. Funkcia
fill_window zabralo 13 % z celkového času a bolo vyvolané „iba“ 22 180-krát.
Možno v tomto prípade by optimalizácia mohla priniesť výsledky.

Po rolovaní cez súbor správy do stredu (mimochodom, hneď za tabuľkou je podrobný
informácie o všetkých jeho stĺpcoch, čo je veľmi pohodlné), dostaneme sa k tzv
"Graf hovorov" Je to tabuľka rozdelená na záznamy,
oddelené od seba bodkovanými čiarami (opakujúce sa znamienka mínus). Každý
záznam pozostáva z niekoľkých riadkov, pričom druhý riadok je v rozpore so zdravým rozumom
význam sa nazýva „primárny“ a popisuje funkciu, ktorej je záznam vyhradený.
Riadok vyššie je popisom funkcie, ktorá ju volá, a nižšie - tie volané.
jej.

Stĺpce obsahujú nasledujúce informácie (zľava doprava): index (index, to je
iba v primárnej línii a v skutočnosti nič neznamená); percento času
ktorá sa vynaloží na vykonanie funkcie (% času); množstvo stráveného času
pre jeho vykonanie v sekundách (ja); množstvo času stráveného na
vykonávanie funkcie a všetkých funkcií, ktoré volá (deti); počet hovorov
funkcia (volaná) a jej názov (názov).

Graf hovorov sa ukazuje ako veľmi užitočný, pokiaľ ide o optimalizáciu
kód niekoho iného. Zviditeľnia sa nielen úzke miesta programu, ale aj celá logika
jej práce, čo pri štúdiu zdrojového kódu nemusí byť zrejmé.

Nástroj na testovanie pokrytia GNU

Okrem gprof obsahuje kompilátor GCC ešte jeden nástroj
profilovanie, ktoré umožňuje získať podrobnejšiu správu o vykonaní
aplikácie. Nástroj sa nazýva gcov a je určený na generovanie
nazývaný anotovaný zdrojový kód, ktorý sa zobrazuje vedľa každého riadku
obsahuje počet jeho vykonaní. To môže byť potrebné pre hlbšie
štúdium aplikačných problémov, keď sa nájdu funkcie zodpovedné za „brzdy“, a
podstata problému zostáva nejasná (napríklad nie je jasné, v ktorom riadku
je zodpovedná opakovane vnorená slučka vo vnútri dlhej funkcie
abnormálny pokles výkonu).

Gcov sa nemôže spoliehať na štatistiky generované aplikáciou, keď je s ňou vytvorená
s príznakom "-pg" a vyžaduje prebudovanie s príznakmi "-fprofile-arcs" a "-ftest-coverage":

$CFLAGS="-fprofile-arcs -ftest-coverage"
./configure && make

$ ./gzip ~/ubuntu-10.10-desktop-i386.iso

Pre každý súbor zdrojového kódu sa vygeneruje graf hovorov na základe
ktoré môžu byť vytvorené pre človeka čitateľné anotované
zdroj:

$ gcov deflate.c
súbor "deflate.c"
Vykonané riadky: 76,98 % zo 139
deflate.c:vytvorenie "deflat.c.gcov"

Výsledný súbor tvoria tri stĺpce: počet exekúcií
riadok, číslo riadku a riadok samotný. Navyše pre riadky, ktoré neobsahujú kód, v
prvý stĺpec bude mať znamienko mínus a pre riadky, ktoré neboli nikdy spustené -
postupnosť ostrých predmetov: #####.

Google Performance Tools

Google Performance Tools(skrátene GPT) je vývoj zamestnancov spoločnosti Google,
navrhnuté na nájdenie únikov pamäte a úzkych miest aplikácií. Ako gprof,
GPT nie je program mimo testovanej aplikácie a
núti ho samostatne viesť štatistiku svojej výkonnosti. Avšak
Na tento účel sa nepoužíva kód vložený vo fáze zostavovania aplikácie, ale
knižnice, ktoré je možné prepojiť s aplikáciou v čase zostavovania resp
pripojený pri štarte.

Celkovo sú vývojárom k dispozícii dve knižnice zásuvných modulov: tcmalloc (ktorý
podľa autorov GPT ide o najrýchlejšiu implementáciu na svete
malloc funguje a tiež umožňuje analýzu toho, ako pamäť
spotrebované, pridelené a plynulé) a profilovač, ktorý generuje správu o vykonaní
programy ako gprof. Súprava obsahuje aj nástroj pprof,
určené na analýzu a vizualizáciu nahromadených údajov.

Zdrojový kód, ako aj balíčky rpm a deb pre celú túto sadu sú dostupné na
oficiálna stránka (code.google.com/p/google-perftools), ale nechcel by som
odporúčalo obťažovať sa manuálna inštalácia, keďže súprava je dostupná v
štandardné úložiská Fedory a Ubuntu a dá sa nainštalovať jedným jednoduchým spôsobom
príkaz:

$ sudo apt-get nainštalovať google-perftools\libgoogle-perftools0
libgoogle-perftools-dev

$LD_PRELOAD=/usr/lib/libprofiler.so.0.0.0\
PROFILE CPU=gzip-profile.log ./gzip \
/home/j1m/ubuntu-10.10-desktop-i386.iso

Samotní zamestnanci spoločnosti Google však neodporúčajú používať túto metódu (samozrejme kvôli problémom
s programami napísanými v C++), odporúčanie prepojiť knižnicu počas
zhromaždenia. No nehádajme sa.

Pre experimenty zoberme ten istý gzip a znova ho prestavme,
prepojením binárneho súboru s požadovanou knižnicou:

$ cd ~/gzip-1.3.3
$ vyčistiť
$./configure
$ LDFLAGS="-lprofiler" ./configure && make

Teraz je gzip opäť pripravený zaznamenať svoje vykonanie, ale neurobí tak
predvolená. Ak chcete aktivovať profilovač, musíte deklarovať premennú
prostredia CPUPFOFILE a priraďte mu cestu k súboru profilu:

$ PROFILE CPU=gzip-cpu-profile.log ./gzip \
~/ubuntu-10.10-desktop-i386.iso
PROFIL: prerušenia/vyhostenia/bajty = 4696/946/91976

Rovnako ako v prípade gprof je výsledná zostava v binárnej forme a môže byť
len na čítanie pomocou špeciálneho nástroja. V GPT jeho úlohu zohráva
perl skript pprof (v Ubuntu, aby sa predišlo zámene s iným nástrojom s rovnakým názvom
je premenovaný na google-pprof), ktorý dokáže generovať nielen tabuľky a
anotované zdroje v štýle gcov, ale aj vizuálne grafy hovorov. Celkom
Existuje 11 typov výstupov tohto nástroja, z ktorých každý je priradený
Zodpovedajúci argument príkazového riadku je:

  1. Text (--text) - tabuľka podobná výstupu gprof;
  2. Callgrind (--callgrind) - výstup vo formáte kompatibilnom s utilitou kcachegrind (z balíka valgrind);
  3. Graphic (--gv) - graf hovorov okamžite zobrazený na obrazovke;
  4. Výpis (--zoznam= ) - anotovaný výpis zadanej funkcie;
  5. Rozobraný zoznam (--disasm= ) - s poznámkami
    rozobraný výpis zadanej funkcie;
  6. Symbolic (--symbols) - výpis dekódovaných symbolických mien;
  7. Grafický súbor (--bodka, --ps, --pdf, --gif) - graf hovoru, uložený
    vyplniť;
  8. Raw (--raw) - príprava súboru binárneho profilu na prenos cez sieť
    (prekódované pomocou tlačených znakov).

Najviac nás zaujíma text ("--text") a grafika
("--gv") typy hovorov. Iba oni môžu poskytnúť úplné informácie o implementácii
aplikáciu a všetky jej problémové oblasti. Textový výstup sa generuje nasledovne
spôsob:

$ google-pprof --text ./gzip gzip-cpu-profile.log

Ako môžete vidieť na snímke obrazovky, výstupom je tabuľka so zoznamom všetkých
funkcie a náklady na ich realizáciu. Na prvý pohľad sa to zdá veľmi podobné
tabuľka vygenerovaná obslužným programom gprof, ale nie je to tak. Byť spravodlivý
knižnice, GPT nemôže uchovávať štatistiky vykonávania programu rovnako podrobne
a presne tak, ako to robí kód vložený priamo do aplikácie. Preto namiesto toho
záznamy o všetkých skutočnostiach volania a ukončovania funkcií (správanie programu skompilovaného s
príznak "-pg"), GPT používa metódu nazývanú vzorkovanie. Stokrát za sekundu
knižnica sa aktivuje špeciálna funkcia, ktorej úlohou je zbierať údaje o
v ktorom bode tento moment program sa spustí a zaznamená
tieto údaje do vyrovnávacej pamäte. Po ukončení programu a
súbor profilu sa zapíše na disk.

To je dôvod, prečo výstup pprof neobsahuje informácie o tom, koľkokrát bola funkcia vykonaná
volané počas spustenia programu alebo koľko percent času sa na ňom strávilo
exekúcie. Namiesto toho je pre každú funkciu špecifikovaný počet kontrol v
čas, o ktorom sa zistilo, že program je momentálne obsadený
vykonávanie tejto funkcie. Preto je uvedený počet kontrol pre každého
funkcie možno bezpečne počítať ako celkový čas jeho vykonania.

Vo všetkých ostatných ohľadoch sa tabuľka silne podobá výstupu gprof: podľa funkcie on
riadok, exponent na stĺpec. Celkovo je tu šesť stĺpcov:

  1. Počet kontrol pre túto funkciu;
  2. Percento kontrol pre všetky ostatné funkcie programu;
  3. Počet kontrol pre túto funkciu a všetkých jej potomkov;
  4. Rovnaký počet ako percento z celkového počtu kontrol;
  5. Názov funkcie.

Spočiatku sa tento prístup k meraniu času vykonávania zdá príliš veľa.
nepresné, ale ak porovnáte tabuľky získané pomocou gprof s tabuľkami
pprof, je zrejmé, že zobrazujú rovnaký obrázok. Navyše GPT
umožňuje zmeniť počet kontrol za sekundu pomocou premennej
prostredia CPUPROFILE_FREQUENCY, takže presnosť sa dá zvýšiť o desať, sto
alebo tisíckrát, ak si to situácia vyžaduje (napr. ak je to potrebné
profil vykonávania veľmi malého programu).

Nepochybnou výhodou GPT oproti gprof je schopnosť reprezentovať
informácie v grafickej podobe. Ak chcete aktivovať túto funkciu pprof, mali by ste
spustiť s príznakom "--gv" (mimochodom, na zobrazenie grafu sa použije
nástroj s rovnakým názvom):

$ google-pprof --gv ./gzip gzip-cpu-profile.log

Graf volania funkcie vygenerovaný v dôsledku vykonania tejto funkcie je veľmi
vizuálne a oveľa jednoduchšie na pochopenie a štúdium ako podobné
textový graf vygenerovaný príkazom gprof. Názov a štatistika výkonnosti každého z nich
funkcie sú umiestnené v obdĺžnikoch, ktorých veľkosť je priamo úmerná
množstvo času stráveného vykonávaním funkcie. Vo vnútri obdĺžnika
zverejnil údaje o tom, koľko času trvalo vykonanie samotnej funkcie a jej
potomkovia (čas sa meria v kontrolách). Spojenia medzi obdĺžnikmi označujú
podľa poradia volaní funkcií a číselných hodnôt uvedených vedľa pripojení -
po dobu vykonávania volanej funkcie a všetkých jej potomkov.

Ďalšou výhodou GPT je jeho schopnosť používať rôzne úrovne
granularita pre výstup dát, ktorá umožňuje užívateľovi vybrať si jednotky sám
drvenie. Štandardne sa funkcia používa ako taká jednotka, tzv
akýkoľvek výstup pprof je logicky rozdelený na funkcie. Avšak, ak je to žiaduce, ako
drviace jednotky môžu byť použité riadky zdrojového kódu (argument "--lines"),
súbory ("--files") alebo dokonca adresy fyzickej pamäte ("--adresy"). Vďaka
Táto funkcia GPT je veľmi vhodná na nájdenie úzkych miest
veľké aplikácie, keď najprv analyzujete výkon na úrovni
samostatné súbory, potom prejdite na funkcie a nakoniec nájdite problém
umiestnenie na úrovni zdrojového kódu alebo pamäťových adries.

A ešte posledná vec. Ako som povedal vyššie, GPT nie je len dobrý profilovač,
ale aj nástroj na vyhľadávanie pamäťových únikov, takže má jeden veľmi
pekný vedľajší efekt v podobe schopnosti analyzovať spotrebu pamäte
aplikácie. Na tento účel musí byť aplikácia vytvorená alebo spustená s podporou
knižnica tcmalloc a premenná HEAPPROFILE obsahuje adresu pre umiestnenie
profilový súbor. Napríklad:

$ LD_PRELOAD=/usr/lib/libtcmalloc.so.0.0.0 \
HEAPPROFILE=gzip-heap-profile.log \
./gzip ~/ubuntu-10.10-desktop-i386.iso
Spustenie sledovania haldy
Ukladanie profilu haldy do gzip-heap-profile.log.0001.heap (ukončuje sa)

Výsledný súbor bude mať pripojenú koncovku 0000.heap. Ak ho nastavíte
tento súbor do obslužného programu pprof a zadajte príznak "--text", zobrazí sa tabuľka
funkcie a úroveň spotreby pamäte každej z nich. Stĺpce znamenajú to isté
rovnaké ako v prípade konvenčného profilovania, s tým rozdielom, že namiesto toho
počet kontrol a ich percentá, tabuľka teraz obsahuje počet
spotreba pamäte a percento celkovej spotreby pamäte.

V prípade potreby je možné tieto informácie získať aj v grafickej podobe
zmeniť drviace jednotky. Knižnicu je možné prispôsobiť pomocou rôznych
premenné prostredia, z ktorých najužitočnejšia sa nazýva HEAP_PROFILE_MMAP.
Umožňuje profilovanie pre systémové volanie mmap (štandardne GPT
zhromažďuje štatistiky iba pre volania na malloc, calloc, realloc a new).

Pár slov o Valgrindovi

V poslednej časti článku sa v krátkosti pozrieme na to, ako používať
nástroj Valgrind pre profilovanie aplikácií. Valgrind je veľmi silný
pamäťový debugger, ktorý je schopný nájsť také chyby pamäte ako
ostatné utility to ani netušia. Má modulárnu architektúru
v priebehu času jej umožnilo získať niekoľko doplnkov, ktoré nesúvisia
priamo na ladenie. Celkovo existujú tri takéto pluginy:

  1. Cachegrind - umožňuje zhromažďovať štatistiky o prístupoch k údajom a
    programové inštrukcie do vyrovnávacej pamäte prvej a druhej úrovne procesora (výkonný a
    sofistikovaný nástroj, ktorý je užitočný pri vykonávaní profilovania
    kód nízkej úrovne).
  2. Massif je profilovač haldy podobný funkcionalite ako jeho náprotivok z balíka GPT.
  3. Callgrind je profilovač podobný profilom v gprof a GPT.

Valgrind štandardne používa memcheck ako svoj hlavný doplnok.
(pamäťový debugger), takže na spustenie v režime profilovania potrebujete
zadajte požadovaný doplnok manuálne. Napríklad:

$ valgrind --tool=callgrind ./program

Po tomto súbore s názvom
callgrind.out.PID program, ktorý je možné analyzovať pomocou utility
callgrind_annotate alebo grafický program kcachegrind (nainštalovaný
oddelene). Nebudem popisovať formát údajov generovaných týmito programami
(dobre je to prezentované v rovnomenných manuálových stránkach), poviem len toľko
Je lepšie spustiť callgrind_annotate s príznakom "--auto", aby to bolo možné
Nájdite zdrojové súbory programu sami.

Na analýzu spotreby pamäte by mal byť Valgrind spustený s argumentom "--tool=massif".
Potom sa v aktuálnom adresári objaví programový súbor massif.out.PID, ktorý
možno analyzovať pomocou nástroja ms_print. Na rozdiel od pprof, ona
dokáže zobrazovať dáta nielen vo forme štandardnej tabuľky, ale aj generovať
krásna ascii-art grafika.

závery

Nástroje ako gprof, gcov a GPT umožňujú analýzu výkonu
a identifikovať všetky jej úzke miesta až po samostatný procesor
pokyny a pripojením Valgrind k procesu profilovania môžete dosiahnuť
úžasné výsledky.

INFO

V predvolenom nastavení gprof nevypisuje informácie o profile funkcií.
knižníc libc, ale situáciu možno napraviť inštaláciou balíka libc6-prof a
kompilácia testu s knižnicou libc_p: "export LD_FLAGS="-lc_p"".

GPT profiler môžete aktivovať nielen pomocou premennej prostredia
CPUPROFILE, ale aj rámcovaním testovanej časti kódu funkciami ProfilerStart().
a ProfilerStop(), ktoré sú deklarované v google/profiler.h.

POZOR

Z dôvodu bezpečnostných požiadaviek nebude značka GPT fungovať pre aplikácie s
Sada bitov SUID.

  • 17. Analýza úzkych miest, ktoré vznikajú v podniku.
  • 18. Metódy výpočtu investícií.
  • 19. Výpočet výsledkov výroby v krátkodobom horizonte.
  • 21. Odmena provízií pre obchodných zástupcov na základe súm krytia.
  • 22.Kvalitné hrnčeky.
  • 23. Analýza zliav.
  • 24. Analýza predajných oblastí.
  • 25. Funkčno-nákladová analýza.
  • 26. Xyz analýza.
  • 27. Vlastná výroba - externé dodávky.
  • 28. Krivka skúseností.
  • 29. Analýza konkurencie.
  • 30. Logistika.
  • 31. Analýza portfólia.
  • 33. Krivka životného cyklu produktu.
  • 34. Analýza silných a slabých stránok podniku.
  • 36. Vývoj scenárov.
  • 37. Postupnosť etáp pri navrhovaní procesu controllingu v organizácii.
  • 38. Organizačné a prevádzkové fázy projektovania procesu controllingu.
  • 40. Sociálne a psychologické faktory odporu voči novej koncepcii riadenia v podniku: skupinový odpor.
  • 41. Úlohy kontrolóra v podniku.
  • 42. Požiadavky na profesionálne a osobné vlastnosti prevádzkovateľov.
  • 43. Príklady hlavných funkčných úloh kontrolóra.
  • 46. ​​Hlavné typy kontrolnej organizácie.
  • 47. Možnosti umiestnenia riadiacej služby.
  • 48. Predpoklady pre organizáciu controllingovej služby v podniku.
  • 49. Centralizovaný a decentralizovaný controlling.
  • 50. Úloha a úlohy hlavného kontrolóra v podniku.
  • 51. Koncepcie controllingu vo vzťahu k problémom účtovníctva.
  • 52. Miesto (úloha a úlohy) decentralizovaných kontrolórov v štruktúre podniku.
  • 53. Výhody a nevýhody vytvorenia nezávislej controllingovej služby v organizácii.
  • 54. Konflikt medzi kontrolórom a manažérom: podstata a typy konfliktov.
  • 55. Funkčný prístup k zberu informácií na prijímanie manažérskych rozhodnutí: nevýhody a výhody.
  • 56. Automatizácia spracovania informácií pri zavádzaní koncepcie controllingu.
  • automatizácia.
  • 58. Jednotný informačný priestor: podstata, nevyhnutnosť tvorby (podmienky), možnosti.
  • 59. Integrovaný manažérsky informačný systém ako nástroj riadenia na báze počítača. Hlavné bloky systému a ich funkcie.
  • 61. Eis: účel, hlavné charakteristiky.
  • 62. Chybné predpoklady pri navrhovaní informačných systémov.
  • 63. Informačný reinžiniering: podstata, hlavné fázy.
  • 65. Všeobecný ekonomický a špecifický manažérsky význam plánovania činnosti podniku.
  • 17. Analýza úzkych miest, ktoré vznikajú v podniku.

    Úlohou operatívneho plánovania výrobného programu je určiť sortiment a objem výrobkov. Na to je potrebné poznať nasledujúce údaje:

    1) ceny produktov;

    2) výrobné náklady;

    4) dostupná výrobná kapacita.

    Problémy plánovania výrobného programu

    určuje predovšetkým typ a počet úzkych miest vo výrobe. Okrem toho sú dôležité možné alternatívne technologické postupy. Hovoríme o inštalovanom zariadení a intenzite jeho využitia vo výrobnom procese.

    K plánovaniu výrobného programu sú možné rôzne prístupy.

    V podniku existujú tri základné prístupy:

    a) Žiadne úzke miesta.

    Keďže neexistujú žiadne prekážky, všetky produkty je možné vyrábať.

    b) Prítomnosť jedného úzkeho miesta.

    Predpokladajme, že v podniku existuje jedno úzke miesto. Je potrebné rozlišovať medzi prípadmi jediného a možného alternatívneho technologického postupu.

    Ak sú variabilné náklady na jednotku času rovnaké pre všetky produkty, musíte skontrolovať, či sú sumy krytia kladné pre všetky produkty a procesy alebo či sú záporné pre určité kombinácie produktov a procesov.

    Ak sú známe tržby z predaja a variabilné náklady na jednotku produkcie, a teda aj výška krytia, potom je možné optimálny výrobný program zostaviť po etapách Orientácia na výšku krytia umožňuje dôsledne zostaviť program, ak existuje jedno úzke miesto.

    c) Prítomnosť niekoľkých prekážok.

    Ak sa pri kontrole predajných a výrobných programov ukáže, že vo výrobe je naraz viacero úzkych miest, potom je rozhodovanie ťažšie. V tomto prípade by sa mali použiť metódy lineárneho programovania.

    Plánovanie optimálneho výrobného programu by sa nemalo uskutočňovať len z hľadiska nákladov, ale musia sa brať do úvahy kritériá orientované na zisk. Kalkulačné údaje založené na úplných nákladoch nestačia na plánovanie optimálneho výrobného programu, keďže v takýchto kalkuláciách sa náklady nerozdeľujú na variabilné a fixné. Spolu s nákladmi je potrebné zvážiť vplyv rozhodnutí manažmentu na tržby z predaja a sumy krytia. V tejto súvislosti je potrebné použiť údaje z výpočtov súm krytia.

    Prítomnosť jedného úzkeho miesta možno vysvetliť dvoma dôvodmi:

    a) ak je výrobný proces jednostupňový, potom existujúce kapacity nestačia na výrobu maximálneho možného množstva všetkých produktov s kladným krytím;

    b) ak je výrobný proces viacstupňový, tak úzke miesto nastáva len v jednom úseku, ktorého kapacita nestačí na výrobu všetkých produktov.

    Ak je v podniku úzke miesto, je potrebné počítať relatívne hodnoty sumy krytia na jednotku času načítania úzkeho miesta pre jednotlivé skupiny produktov. Vzhľadom na to by sa mala zmeniť poradie výroby produktov, aby sa dosiahla optimálna hodnota výsledku výroby. Určenie odbytového a výrobného programu bez zohľadnenia disponibilnej kapacity v úzkom mieste vedie k zníženiu celkovej sumy krytia. Toto je nesprávne rozhodnutie, pretože v tomto prípade spoločnosť stráca sumy krytia

    Ďalším bežným problémom pri štúdiu komplexných objektov s cieľom zlepšiť organizačné riadenie je štúdium možností zvýšenia produktivity technologická schéma zariadenia z dôvodu maximálneho možného zníženia prestojov zariadení - servisných zariadení, jednotlivých kanálov a/alebo fáz. Kvantitatívne hodnotenie prestojov zariadení možno získať simuláciou fungovania objektu počas reprezentatívneho časového obdobia, získaním a analýzou zodpovedajúcich časových charakteristík.

    Cieľová funkcia riadenia organizácie má v týchto prípadoch podobu podobnú (9.36):

    v=min (9,39),

    kde je prestoj servisného zariadenia (alebo kanála, alebo jednotlivej fázy, s vhodným výberom indexov) pred uvedením do servisu i- požiadavky zo všeobecnej dávky do N požiadavky.

    Pre jednokanálové jednofázové objekty sa teda celková doba odstávky servisného zariadenia pre celú dávku N požiadavky sú určené výrazom (9.8), preto cieľová funkcia riadenia organizácie vrátane automatizovaného má v tomto prípade tvar:

    v=[ 1znak (+)]min (9,40).

    Podobné výrazy možno získať pre viacfázové a/alebo viackanálové objekty, ako sú systémy radenia založené na (9.16), (9.26) alebo (9.34).

    Venujme pozornosť skutočnosti, že v tomto prípade je účelová funkcia v organizačné riadenie je komplexným kritériom, ktoré zohľadňuje okrem uvažovaných prestojov zariadení aj ďalšie faktory, pretože zahŕňa intervaly prijímania požiadaviek, vyťaženosť zariadení, kanály a fázy, ako aj ďalšie časové charakteristiky. Ak sa teda v tomto zariadení zrealizujú opatrenia uvedené v predchádzajúcom pododseku vedúce k skráteniu čakacích dôb požiadavkami, dôjde aj k zvýšeniu zaťaženia vybavenia technologických zariadení, čo v mnohých praktických prípadoch spôsobí najmä vhodný výber kritéria efektívnosti organizačného riadenia komplexných komplexov, ktoré sú predmetom tohto pododseku.

    3. Identifikácia a odstránenie úzkych miest

    Vo výrobných systémoch je „úzkym miestom“ v technologickej schéme zariadenie, ktoré má nižšiu produktivitu ako technologická schéma ako celok, preto je obmedzujúcim článkom všeobecnej údržby v zariadení. Identifikácia „úzkych miest“ umožňuje nastaviť a riešiť problém zvyšovania produktivity objektu obzvlášť racionálnym spôsobom implementáciou súboru organizačných a technických opatrení vo vzťahu k jednému danému zariadeniu, ktoré je „úzkym miestom“ a nie na celú technologickú schému ako celok, pretože tá je nepochybne zložitejšia a dlhšia a zvyčajne oveľa drahšia.

    Často je úzke hrdlo variabilné „v čase a priestore“, t.j. v závislosti od technologického režimu a prevádzkových podmienok objektu alebo jeho jednotlivých častí alebo technologickej povahy samostatné skupiny alebo triedy požiadaviek (inými slovami, v závislosti od konkrétnu situáciu v objekte v danom časovom období) môže byť „úzkym hrdlom“ jedno alebo druhé obslužné zariadenie (alebo kanál) alebo dokonca samostatná fáza. V takýchto prípadoch je identifikácia „úzkych miest“ pomocou simulačného modelovania dôležitou oblasťou výskumu objektu s cieľom zdôvodniť, vyvinúť a následne otestovať efektívnosť manažérskych rozhodnutí. Je zrejmé, že odstránením „úzkeho miesta“ sa rozumie súbor organizačných a technologických opatrení, po realizácii ktorých aparát, ktorý bol „úzkym miestom“, už takým nie je a nebráni fungovaniu výroby ako celku.

    Znakom prítomnosti „úzkych miest“ v technologickej schéme objektu, interpretovaného ako QS, je vytvorenie radu alebo oneskorenie v predchádzajúcich jednotkách alebo fázach pred zariadením (alebo fázou), čo je „úzke miesto“. “, a naopak odstávky zariadení (alebo fáz) bezprostredne po ňom.

    Predstavme si situáciu s prítomnosťou „úzkeho hrdla“ v objekte vo formalizovanej forme, s použitím metodológie diskutovanej vyššie v tejto kapitole.

    Nech napr. objekt ako jednokanálový zaraďovací systém pozostáva z niekoľkých za sebou umiestnených jednokanálových jednofázových obslužných zariadení, ktorých technologická schéma zodpovedá obr. 9.5.

    Obr.9.5. Schéma jednokanálového QS s viacerými zariadeniami.

    Servisné zariadenia technologickej schémy tohto QS sú označené indexom k a presne k Prvým je úzke miesto. Nechaj i Táto požiadavka je obsluhovaná v špecifikovanom k-té zariadenie v priebehu času a do tohto zariadenia prišlo s intervalom v porovnaní s predtým prijatou požiadavkou.

    Na predchádzajúcej ( kna 1)-tom zariadení tam umiestnená požiadavka už dokončila servis a čaká na uvoľnenie k-tý prístroj; možno pri vchode do ( k1) zariadenie už má inú požiadavku čakajúcu na servis. Situácia je teda ( k1) zariadenie sa odráža v časovej charakteristike (9.4):

    = +at+>pre (9,41);

    Ďalšie, ( k+1)-té zariadenie je v nečinnom stave, preto preň vo všeobecnom prípade na základe (9.8) budeme mať:

    = at>+pre [ k+1, ...,n] (9.42).

    Čo sa týka priamo k-tého aparátu technologickej schémy, ktorý je „úzkym hrdlom“, potom preň môžu konkrétne platiť oba vzťahy (9.41) aj (9.42) v závislosti od toho, čo konkrétne obmedzuje jeho fungovanie - alebo začiatok obsluhovania dopytu (t.j. vstup zariadenia, možno počiatočné fázy údržby, ak je viacfázové atď.), alebo jeho stav (vnútorné prvky, prepojenia medzi nimi, konečné fázy atď.

    Cieľová funkcia riadenia organizácie v, ktorého cieľom je odstrániť úzke miesto a tým zvýšiť produktivitu celej technologickej schémy, má všeobecnú podobu:

    v=(9.43).

    Podobne môžete získať výrazy pre iné objektové štruktúry a iné disciplíny služieb. Po implementácii simulačného modelu skúmaného objektu na počítači vo vzťahu k rôznym podmienkam jeho fungovania a získaní v kvantitatívnej forme hodnôt kritérií (9.41) a (9.42) pre každý komponent a/alebo technologickú schému, ktoré sa dá vždy urobiť, z týchto výsledkov je ľahké určiť, či je v tejto technologickej schéme miesto „úzke miesto“ a aký konkrétny komponent objektu a v akých konkrétnych podmienkach sa objavuje. Potom je možné navrhnúť súbor organizačných a technických opatrení na odstránenie „úzkych miest“ (paralelizácia servisných požiadaviek na tomto mieste výrobného diagramu, zrýchlené technológie, t. j. s výrazne rýchlejšou obsluhou a tým aj nižšími priemermi atď. .), ako aj otestovať ich účinnosť na rovnakom simulačnom modeli objektu.

    Plánovanie optimálneho výrobného programu alebo sortimentu vo viacodvetvovom podniku treba chápať ako plán výroby alebo sortimentu zameraný na maximalizáciu zisku. Pri vývoji optimálneho programu sa riadi prioritou, podľa ktorej sa v prvom rade vyrábajú produkty alebo tovary, ktoré maximálne sumy pokrytie nákladov.

    Plánovanie optimálneho výrobného programu alebo sortimentu závisí od zariadení, ktoré má podnik k dispozícii. Preto je najprv potrebné skontrolovať, či vo výrobnom procese neexistuje úzke miesto.

    Prekážkou je nedostatok výrobná kapacita v reťazci technologických procesov, determinovaný ľubovoľnou zložkou: strojový čas zariadenia, výrobná oblasť, personál, materiál, doprava atď.

    Kontrola úzkych miest sa vykonáva výpočtom. Na tento účel sa maximálny počet výrobkov plánovaných na výrobu vynásobí veľkosťou analyzovaného komponentu. Napríklad, ak hovoríme o strojovom čase zariadenia, počet dielov plánovaných na výrobu sa vynásobí strojohodinami prevádzky stroja, jednotky alebo prístroja. Vypočítaná hodnota by nemala prekročiť maximálnu prípustnú hodnotu v návode na obsluhu zariadenia. Skladové kontajnery sa vypočítajú rovnakým spôsobom. hotové výrobky, spotreba tepla a elektriny energie, personálne zabezpečenie atď.

    Ak získaná hodnota prekročí dostupný výkon v danom období, hovorí sa, že existuje úzke miesto. V tejto situácii nie je možné vyvinúť optimálny výrobný program založený na sumách pokrývajúcich jednotkové náklady. Sumy návratnosti jednotkových nákladov by mali závisieť od požadovaného zaťaženia úzkeho miesta. Týmto spôsobom sa vypočíta relatívna výška krytia ( db rel.), ktorý ukazuje pomer rozdielu medzi cenou ( R) a variabilné náklady na jednotku produkcie ( kv) na požadované zaťaženie na úzke miesto vo výrobnej kapacite:

    Na praxi vyššiu hodnotu sa udáva skôr relatívnym ako absolútnym sumám krytia jednotkových nákladov, pretože zaťaženie úzkeho miesta je zvyčajne nerovnomerné. Výrobný program alebo sortiment musí byť zostavený tak, aby pri maximálnom plnom využití výrobnej kapacity bol dosiahnutý čo najvyšší výsledok činnosti podniku.

    Pri plánovaní optimálneho výrobného programu alebo sortimentu je potrebné rozlišovať tri prípady, ktoré sú uvedené nižšie:

    Príklad:

    Spoločnosť vyrába rad produktov A, B, C a D. Účtovníctvo má za vykazované obdobie tieto údaje:

    a) Stanovte optimálny výrobný program a výsledok činnosti podniku za vykazované obdobie na základe

    1) účtovanie celkových nákladov

    2) zohľadňuje sumy krytia nákladov

    b) ako sa zmení výrobný program a výsledok podniku, založený účtom návratnosť nákladov, ak by bola výrobná kapacita obmedzená na 35 000 hodín a výroba jednej jednotky každého produktu by si vyžadovala nasledujúci strojový čas:

    Riešenie:

    a) 1. Účtovanie úplných nákladov:
    Pri použití systému účtovania celkových nákladov je kritériom pre rozhodovanie manažmentu zisk alebo strata z výroby a predaja jednotky produktu: do výrobného programu sú prijaté všetky produkty, ktoré vytvárajú zisk, t.j. cena pokrýva variabilné a fixné náklady na jednotku produkcie (= náklady).

    Podľa systému úplných nákladov by sa produkt A už nemal vyrábať, pretože má negatívny výsledok predaja za jednotku. Zároveň fixné náklady, ktoré možno pripísať tento produkt, choďte ďalej, pretože počas neho neklesajú krátkodobý. Na výpočet zisku alebo straty za účtovné obdobie je potrebné vziať do úvahy podiel Nemenné ceny pochádzajúce z produktu A v hodnote (140 € – 80 €) × 4 000 ks. = 240 000 €. Výsledok činnosti podniku za vykazované obdobie je teda +/– 0 €.

    2. Výpočet súm krytia nákladov:

    Rozhodnutie o výbere optimálneho výrobného programu sa robí na základe výpočtu výšky krytia nákladov. Keďže v tomto prípade neexistujú žiadne úzke miesta, do výrobného programu sa prijímajú všetky produkty s kladnými sumami na pokrytie jednotkových nákladov.

    Produkt A zostáva vo výrobnom programe, pretože má kladnú hodnotu návratnosti nákladov a prispieva na pokrytie vlastných fixných nákladov. Od celkovej návratnosti nákladov produktov A, B, C a D by sa fixné náklady mali odpočítať ako jeden blok.

    Výsledkom činnosti podniku v vykazované obdobie je:

    620.000 € – 420.000 € = 200.000 €.

    b) Najprv musíte skontrolovať, či vo výrobnom procese nie je prekážka. Strojový čas zariadenia potrebný na výrobu štyroch produktov má nasledujúce hodnoty:
    Keďže spoločnosť má k dispozícii iba 35 000 hodín, existuje problém s výrobou maximálneho počtu požadovaných položiek. Ak by sa rozhodnutia manažmentu robili na základe absolútnych súm krytia nákladov, výrobný program by sa plánoval na základe hierarchie (zoradenia) každého produktu podľa súm krytia jednotkových nákladov, t.j. v tomto poradí: prvé dve miesta (I. poradie) – produkty B a C (db = 100 €); tretie miesto (III. poradie) – produkt A (db = 50 €) a štvrté miesto (IV. poradie) – produkt D (db = 40 €). Produkt D by sa teda stal obeťou úzkeho miesta, pričom by sa nezohľadnilo, že produkt D má napriek tomu najkratšiu dobu prípravy na produkt.

    Akceptačné kritérium manažérske rozhodnutie v prípade úzkeho miesta je relatívna výška návratnosti nákladov. V tomto prípade je takýmto kritériom výška krytia jednotkových nákladov na jednu hodinu strojového času zariadenia.

    Keďže produkt B má najvyššie relatívne pokrytie jednotkových nákladov, oprávňuje ho to na výrobu v plnom rozsahu, t.j. 2000 produktov. To si vyžiada 10 000 hodín počítačového času. Potom sa vyrába produkt s druhým najvyšším pomerným krytím (C), tiež do maximálnej predajnej marže. Produkt D s tretím najvyšším hodnotením je vydaný ako ďalší. Zvyšných 11 500 hodín nestačí na výrobu 4 000 jednotiek produktu A. Je možné vyrobiť len:
    Návratnosť nákladov produktu A je o 56 250 EUR nižšia s prekážkou ako bez nej. Táto suma zodpovedá zníženiu výsledku výroby. Výsledkom činnosti podniku je:
    563.750 € – 420.000 € = 143.750 €.

    Pozor! V uvažovanom príklade boli relatívne sumy krytia nákladov vypočítané vydelením absolútnych množstiev krytia zaťažením úzkeho miesta vo výrobnej kapacite (strojový čas), zníženým na počet produktov, t.j. hodiny/kus Ak je ukazovateľ charakterizujúci úzke miesto vyjadrený vo forme napríklad produktivity, t.j. ks/hod, potom by sa absolútna výška krytia nemala deliť, ale násobiť hodnotou tohto ukazovateľa, pretože už sa to pripisuje výrobnej kapacite spotrebovanej v zúženom mieste.

    Príklad:

    Pri plánovaní výrobného programu priemyselný podnik Je potrebné vziať do úvahy nasledujúce údaje:

    Fixné náklady v sledovanom období dosiahli úroveň 100 000 €.

    a) Stanovte výrobný program a výsledok podniku na ďalšie obdobie pomocou účtu úhrady nákladov!
    b) Dostupný strojový čas zariadenia, na ktorom sa vyrábajú produkty A, B a C, je 12 000 minút. Aké závery možno vyvodiť pre určenie optimálneho výrobného programu a výsledku podniku?
    c) Ako sa zmení výrobný program a výsledok podniku, ak sa cena výrobku C zvýši na 230 eur a min. požadované množstvo produkty budú 1 000 jednotiek?

    Riešenie:

    a) Určujúcim kritériom je absolútna výška krytia nákladov (db), od r Neexistujú žiadne prekážky:
    Produkty B a A najviac prispievajú k fixným nákladom. Produkt C by mal byť vylúčený z výrobného programu, pretože má zápornú sumu pokrytia nákladov.
    Určenie výsledku činnosti podniku:
    b) Krok 1: Skontrolujte, či vo výrobnom procese produktu nie sú prekážky:
    Produkt C by mal byť už vylúčený z výrobného programu, keďže vykazuje negatívny absolútny príspevok k pokrytiu fixných nákladov. Strojový čas zariadenia potrebný na výrobu produktov je:
    Keďže strojový čas je obmedzený na 12 000 minút, je vo výrobe produktov A a B problém.
    Krok 2: Určenie relatívnych čiastok pokrytia nákladov:

    Strojový čas potrebný na výrobu produktu A je 4 000 minút, t.j. o 6 000 minút menej ako produkt B. Zároveň je relatívne pokrytie nákladov na produkt A vyššie ako na produkt B. Uprednostňuje sa produkt A.

    Krok 3. Určenie optimálneho výrobného programu:

    Keďže Produkt A generuje vyššiu relatívnu návratnosť nákladov, má nárok na maximálny objem výroby 2 000 jednotiek. To si vyžaduje 4 000 minút výrobnej kapacity (strojový čas zariadenia).

    Úzke miesta

    Úzke miesta sú nedostatok výrobnej kapacity v reťazci procesov, ktorý je určený niektorým komponentom: zariadením, personálom, materiálom alebo dopravou; sa odstraňuje pri organizačných a technických opatreniach – „odblokovaní“ úzkych miest.

    Úzke miesta sa môžu v podnikoch vyskytnúť z rôznych dôvodov. V podmienkach komplexnej spolupráce rôznych strojov pracujúcich na moderné podniky, charakter vnútrovýrobných väzieb, proporcionalita jednotlivých dielní a výrobných oblastí nemožno raz a navždy dať a ostávajú nezmenené. Zlepšenie vybavenia a technológie výroby, zlepšenie organizácie práce, zmena charakteru výroby v jednej oblasti si nevyhnutne vyžaduje zodpovedajúce zmeny v iných oblastiach, ktoré sú s ňou spojené.

    Tabuľka 46. Úzke miesta

    Úzke miesto

    Popis problému

    Aktivity a očakávané výsledky

    Usporiadanie dielne

    V dielenskom usporiadaní sú stroje umiestnené kolmo na výrobnú linku - to nezabezpečuje bezpečnosť pracovníkov stojacich za strojmi.

    Optimálnejšie by bolo usporiadať stroje v takzvanom vzore „rybia kosť“ - pod uhlom k linke. Tým sa zabezpečí bezpečnosť pracovníkov a ďalšie efektívne využitie dielenský priestor.

    Transportné práce

    Doprava v dielni funguje nasledovne: na začiatku dňa do dielne dorazia kamióny, vyzdvihnú obrobky zo skladu a doručia ich do výrobné linky, potom odídu. Na konci dňa začnú kamióny opäť svoju prácu: vyzdvihnú hotové výrobky z kontajnerov a odvezú ich do príslušného skladu. Po zvyšok času sú vozidlá nečinné.

    Doručovanie prírezov a dodávanie hotových výrobkov môžete organizovať nie na konci a začiatku pracovného dňa, ale počas celého pracovného času.

    Práca prepravníkov a nakladačov

    Mzdy prepravcu a nakladača sú vyplácané v plnej výške, ale nie sú zamestnaní na celý pracovný deň.

    Nakladačom a transportérom môžete zaplatiť polovičnú sadzbu, pretože... ich zamestnanosť v dielni je veľmi malá.

    Vytvorte kombináciu povolaní – transportér môže pracovať aj ako nakladač.

    Záver

    IN práca v kurze aktivity boli vykonávané organizovať výrobné činnosti mechanická montážna dielňa. Počas procesu vývoja sa vypočítal objem výrobkov, určil sa potrebný počet zariadení, počet personálu, dielenská plocha a zásoby. mzdy hlavní pracovníci, pomocní pracovníci, manažéri, zamestnanci, špecialisti. Riešenie otázok organizácie výroby a jej riadenia v dielni vychádzalo zo štúdia návrhov produktov, technologických procesov ich produkcia, organizácia práce zamestnancov podniku.

    Páčil sa vám článok? Zdieľaj to