PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 УПРАЖНЕНИЕ NO1: ПРИЛОЖЕНИЕ НА БАЗИ ДАННИ ЗА УПРАВЛЕНИЕ НА РАБОТНИ ПОТОЦИ ЗАДАЧА: УПРАЖНЕНИЕТО ИМА ЗА ЦЕЛ ЗАПОЗНАВАНЕ С ИЗПОЛЗВАНЕТО НА БАЗИ ДАННИ ЗА УПРАВЛЕНИЕ НА РАБОТНИ ПОТОЦИ, ПОЛЗВАНИ В ИНДУСТРИАЛНИ ФИРМИ. 1. СЪЩЕСТВУВАЩИ БАЗИ ДАННИ ЗА СЛЕДЕНЕ НА ПРОЕКТИ Използването на бази данни за управление на работни потоци намира голямо приложение, основно в дейности на фирмите, свързани с нематериален продукт, каквито са например конструкторската и като цяло инженерната дейност. Голяма част от съвременните конструктивни бюра например ползват някои от съществуващите на софтуерният пазар решения, известни като PDM системи (Product Data Management системи). Независимо от тези професионални решения, е възможно такива работни потоци (бизнес процеси) могат да бъдат дефинирани и при използване на съответни специализирани приложения, дори и от самите потребители. Примерни такива програми са показани на фигурите по-долу. А/ Програмен продукт modeFRONTIER Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 1 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 Б/ Програмен продукт Ultimus Фиг. 1 В/ Програмен продукт FreeFlow (Xerox) Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 2 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 2. ПРИМЕР НА СЪЩЕСТВУВАЩ ПРОГРАМЕН ПРОДУКТ ЗА СЪЗДАВАНЕ НА ПРИЛОЖЕНИЯ ЗА УПРАВЛЕНИЕ НА РАБОТНИ ПОТОЦИ Това упражнение ще ви запознае с работатата с бази данни за управление на работните потоци, свързани с организиране на работата по индустриални проекти. За целите на упражнението е използван софтуер на свободен достъп – OpenSource – ProcessMaker. Програмата дава възможност да се организират работни и бизнес процеси, като освен създаване на структурата на различни по вид процеси, обработваната информация се съхранява централизирано, в единна база данни – Vault, възможно е да се ползва вътрешна поща за известяване на участниците в проекта, съществуват и административни функции за определяне нивата на достъп, както и ред други възможности, характерни за всяка PDM система. Софтуера работи в среда на интернет браузър, без специфични изисквания. Internet Explorer е предвиден да бъде използван за целите на това упражнение. За да се придобие реална представа за работата с софтуера, ще бъде разгледано дефинирането на част от организацията на примерен работен поток в конструктивен отдел и по-специално в частта за възлагане изпълнението на техническа документация, при използване на готов 3D модел. Софтуера се стартира чрез активиране на иконата ProcessMaker 2.0.31 от десктопа на операционната система. При стартиране на програмата, се появява меню за въвеждане на потребител и парола (фиг.1). По подразбиране програмата се стартира за потребител с администраторски права. Фиг. 1 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 3 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 Първоначално, е необходимо да се създаде работен процес. За целта се активира бутона „New”, отбелязан на фигура 2 и се попълват данни относно процеса – Наименование (Title), Описание (Description), т.н. След създаването на този нов процес, се започва изграждането на неговата структура, в автоматично отворилият се редактор. Отделните компоненти (етапи) на тази структура се дефинират като в графичното поле се активира контекстното поле, намиращо се на десен бутон на мишката, и оттам се избере опцията „Add task”. Създаденият компонент по подразбиране се именува служебно, което може да бъде редактирано, като се променят неговите свойства чрез опцията “Properties”, намираща се на десен бутон на мишката (фиг.3). Важно е за първият компонент да се отбележи полето „Starting task”. Фиг. 2 Фиг. 3 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 4 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 По аналогичен начин трябва да се дефинират компоненти на работния процес с наименования: ♦ „Дефиниране на задача” – иницииране на задачата от страна на ръководителя на отдел „Техническо документиране”; ♦ „Отливки” / „Механична обработка” / „Листов материал” – изпълнители, според спецификата на документацията; ♦ Технологичен и метрологичен контрол – проверка и контрол на изпълнението. Това е показано и на фигура 4 по-долу. Фиг. 4 Фиг. 5 Следващият етап е свързан с изграждане на опростени формуляри, които да съответстват на вече дефинираните компоненти. Формулярите се Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 5 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 създават като се активира менюто DYNAFORMS, избере се опцията „New” (отбелязана на фигура 5), избере се опцията „Blank Dynaform”, и се попълнят параметрите показаното на фигура 5 меню. След дефинирането, се пристъпва към редактиране на съответният формуляр. Възможните обекти, ползвани в един формуляр, са аналогични на тези, ползвани в програмните продукти на Microsoft – текстово поле (динамично и статично), полета с падащи списъци (combobox, listbox), опционални полета (Checkbox, Radio buttons), др., които са достъпни от лентата с инструменти в горният край на екрана. Задача за самостоятелна работа: Изградете формуляра за иницииране на задача съобразно показаният пример на фигура 6. Следващият етап в работният поток е свързан с дефиниране на самата задача за изготвяне на документация от ръководителя на екипа, като основно задачата се разпределя според спецификата (отливка, механична обработка или листов материал) й към трима отделни участника. Фиг. 6 Самият формуляр е достатъчно да съдържа опционална група „радио” бутони, имаща три състояния – според спецификата. Изгответе такъв формуляр (DYNAFORM), според примера, показан на фигура 7. Фиг. 7 Други два основни обекта, ползвани при работата с базата данни са входящите (input) и изходящите (output) документи. Това са отделни формуляри, чрез които се записват външни файлове или се изчитат такива в и от хранилището (vault). Изградете такъв формуляр, който да бъде попълван с Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 6 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO1 моделите, за които да бъде създадена конструктивна документация, и който да бъде попълван при иницииране на проекта, от страна на поръчителя. Пример за това е показан на фигура 8. Фиг. 8 Създаваните формуляри се присъединяват към съответен етап посредством дефиниране на стъпки „Steps”, от контекстно меню на десният бутон на мишката, при избран съответен етап. Такъв пример е показан на фигура 9 по-долу. Фиг. 8 Задача за самостоятелна работа: Създайте необходимите формуляри (dynaforms, input/output documents) и ги присъединете към останалите етапи. Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 7 / 7 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 УПРАЖНЕНИЕ NO2: СЪЗДАВАНЕ НА СТРУКТУРНИ СПЕЦИФИКАЦИИ. ВЪТРЕШНИ И ВЪНШНИ СТРУКТУРИ ЗАДАЧА: Създаване на структурна спецификация на сглобена единица и онагледяване с “разпаднат вид ” (Explode state). Запознаване с методите за: 1. Попълване на параметри в тримерни модели на детайли (*.sldprt файлове) и сглобени единици (*.sldasm файлове); 2. Дефиниране на” разпаднат вид”(Explode state) на сглобена единица; 3. Създаване на чертеж със спецификация; 4. Форматиране на спецификация. 1. ПОПЪЛВАНЕ НА ПАРАМЕТРИ В ТРИМЕРНИ МОДЕЛИ НА ДЕТАЙЛИ (*.SLDPRT ФАЙЛОВЕ) И СГЛОБЕНИ ЕДИНИЦИ (*.SLDASM ФАЙЛОВЕ) Отворете модел P300-02-121-00.sldasm. Моделът представлява част от зареждащ модул от технологична линия за микроелектрониката. Фиг. 1 За да се създаде успешно спецификация на сглобената единица (възел) е необходимо на всички нейни детайли и/или подвъзли да се присвоят стойности на следните параметри: Description, PartNo, Revision – те Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 1 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 указват съответно наименованието на компонента, неговият номер и модификация (ревизия). Създаването и въвеждането на стойностите за тези параметри става от менюто File->Properties. (виж фиг.1). Самите параметри се попълват в табличен вид, като последователно се дефинира (или избира от падащото меню) наименованието на параметъра (например, Description), типа на полето (text, date, number, Yes/No) и стойността. Стойностите, които следва да се попълнят за всеки параметър и за всеки от изброените компоненти, се избират от потребителя, според детайла и изделието. Пример за такова попълване на параметрите на възел P300-02-121-00 е показан на фиг.2. Фиг. 2 Стойностите за тези три параметъра се въвеждат последователно за: P300-02-121-00.SLDASM P300-02-121-01.SLDPRT P300-02-121-02.SLDPRT Pulley FlangeE 6A2-12FA 050090037.SLDPRT Socket Button Head Cap Screw_AI_0.112-40x0.3125-HX-N.SLDPRT За детайлите е попълнен като параметър материал, за който има и зададена стойност. Материал не се попълва за възела и за стандартните компоненти (посочените последни два файла в списъка). Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 2 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 2. ДЕФИНИРАНЕ НА” РАЗПАДНАТ ВИД” (EXPLODE STATE) НА СГЛОБЕНА ЕДИНИЦА Първоначално е необходимо да се ориентира по подходящ начин модела. Това става с помоща на менюто, стартирано от View->Orientation... След създаване на конкретна ориентация, тя трябва да бъде записана за последващата й употреба при създаване на чертежа. Това е показано като менюта на фигурата по-долу. Фиг. 3 Дефинирането на разпаднатият вид за възел в Solid Works става в модела на сглобената единица, чрез активиране на менюто Insert->Exploded View… Появява се меню в лявата част на екрана, което подпомага създаването на разпаднатия вид. За преместване на даден компонент, се посочва последователно компонента, който да бъде преместен и се избира посока на преместване (като се посочи ос от координатната система). Самото Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 3 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 преместване може да стане като при посочването на оста се задържи левия бутон на мишката и се премести компонента, или стъпково, през менюто в лявата част на екрана (виж фигура 4). Фиг. 4 Основни правила, при създаване на разпаднат вид, са: 1) Компонентите не трябва да се застъпват 2) Подреждането на компонентите трябва да съответства последователността на техния монтаж 3) Разположението им трябва ясно да указва къде се монтират те на Задача: Разположете детайлите на сглобената единица в разпаднатия вид по подходящ начин. Пример е показан на фигура 5. Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 4 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Фиг. 5 3. СЪЗДАВАНЕ НА ЧЕРТЕЖ СЪС СПЕЦИФИКАЦИЯ От менюто File->New се избере опцията Drawing. В появилото се меню се активира бутона Browse… и се укаже формата А3_upr. Фиг. 6 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 5 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Първоначално, се указва използвания за чертежа модел – възела P300-02-12100.sldasm – чрез double click. След това се указва изгледа (предварително дефиниран в 3D модела). Вида на изгледа – в разпаднат вид (Explode state) – се указва като се избере бутона „More properties…” в долния край на менюто вляво, и се избере от падащото меню дефинираният вече разпаднат вид (стъпка 3). Това е показано на фигурата по-долу. 2 1 3 Фиг. 7 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 6 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Мащаба на чертежа се променя като се избере формата на чертежа от дървовидната структура вляво (SheetFormat) и се избере от контекстното меню опцията Properties (виж фигура 8). Фиг. 8 Спецификацията се създава, като първоначално се избере дадена проекция или изглед (например, създаденият разпаднат вид) и после от менюто Insert>Bill of materials. Вляво, се появяват настройките на спецификацията. Фиг. 9 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 7 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 След потвърждаване на настройките, спецификацията се разполага по избор (над таблицата, в горния десен ъгъл, в долния ляв) на чертежа. Първоначално, се появява спецификация по подразбиране (виж фигура 10). Фиг. 10 Редактирането на спецификацията става като се избере контекстно меню на десен бутон, чрез което може да се добавят (Insert), трият и т.н. колони от таблицата на спецификацията (виж фигура 11). Фиг. 11 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 8 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Въведените вече параметри се появяват като тип на колоната CUSTOM PROPERTY. Фиг. 12 Така, последователно може да се укажат PartNo и Revision и Material, докато таблицата придобие вида, показан на фигура 13. Фиг. 13 Позициите на компонентите се указват в разпаднатия вид, като това става след като се селектира спецификацията и се избере Insert->Annotations>Auto Balloon… (виж фигура 14). Посочва се изгледа, на който да бъдат показани позициите (виж фигура 15) и се избират настройките от менюто в лявата част на екрана. Последната стъпка е подреждане на позициите, като финалния резултат е показан на фигура 16. Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 9 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Фиг. 14 Фиг. 15 Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 10 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Фиг. 16 Задача: Създайте надлъжен разрез на сглобената единица, който да е в проекционна връзка с основната проекция. Добавете към него позиции от спецификацията (използвайте Insert->Annotations->Balloon…). Резултата е показан на фигура 17. Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 11 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ ДОСТАВКИ: УПРАЖНЕНИЕ NO2 Фиг. 17 4. ФОРМАТИРАНЕ НА СПЕЦИФИКАЦИЯ В MS EXCEL След създаване на спецификацията в чертежа, е възможно тя да бъде записана в отделен от чертежа файл, във формат за MS Excel. Това става като се избере спецификацията и се даде от контекстното меню Save as…и се запише с подходящо име. (виж фигурите по-долу). Фиг. 18 Задача: Форматирайте спецификацията по подходящ начин. Лаборатория „CAD/CAM/CAE в Индустрията” Стр. 12 / 12 PDM СИСТЕМИ И УПРАВЛЕНИЕ НА ВЕРИГИТЕ НА ДОСТАВКИ ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР Работни потоци в проектантски организации ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 2 SolidWorks Enterprise PDM ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 3 Възможности на SW Enterprise PDM • УПРАВЛЕНИЕ НА ИНФОРМАЦИЯТА В ХРАНИЛИЩЕТО. • ЗАДАВАНЕ НА ПРАВОМОЩИЯ • СЪЗДАВАНЕ / МОДИФИЦИРАНЕ НА ИНФОРМАЦИЯ, ИНФОРМАЦИОННИ КАРТИ, КАТЕГОРИИ И ДР. • ДОБАВЯНЕ / ИЗТРИВАНЕ НА ПОТРЕБИТЕЛИ • СЪЗДАВАНЕ И МОДИФИЦИРАНЕ НА ПРОМЕНЛИВИ • СЪЗДАВАНЕ И МОДИФИЦИРАНЕ НА ВЕЧЕ ИЗГРАДЕНИ РАБОТНИ ПОТОЦИ ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 4 SW Enterprise PDM: Изграждане на работния поток ОСНОВНИ ЕЛЕМЕНТИ : • РАБОТНИ СЪСТОЯНИЯ • РАБОТНИ ПРЕХОДИ ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 5 SW Enterprise PDM: Конфигуриране на осведомителната система ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 6 SW Enterprise PDM: Задаване на права на потребителите ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 7 SW Enterprise PDM: Пример. Използван възел от изделие ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 8 SW Enterprise PDM: Пример. Регистриране на обекти ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 9 SW Enterprise PDM: Пример. Редактиране параметри на регистрирани обекти ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР на 10 SW Enterprise PDM: Пример. Създаване на нови версии на обектите ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 11 SW Enterprise PDM: Пример. Създаване на нови версии на обектите ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 12 SW Enterprise PDM: Пример. Преходи между работни състояния ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 13 SW Enterprise PDM: Пример. Търсене на информация ТЕМА # 3: PDM СИСТЕМИ. ПРИМЕР 14 Упражнение 6 - Инсталиране на Ubuntu Server и FrePPLe Целта на упражнението е да се подготви виртуална машина, в която да се инсталира Ubuntu Server (версия 16.10), Apache2, PostgreSQL и FrePPLe 4.0. Част 1: Инсталиране на Ubuntu Server във виртуална машина (Oracle VirtualBox) Стартирайте Oracle VirtualBox и създайте нова виртуална машина със следните параметри: Име – FrePPLe; Тип – Linux; Версия – Ubuntu (64-bit). Следва да се зададе размера на виртуалната RAM памет, който трябва да е съобразен с този на физическата система. За нуждите на упражнението е достатъчно да се посочи 1 GB (1024 MB). 1 Процедурата за създаване на нова виртуална машина преминава към етапа за посочване на виртуалния твърд диск. Необходимо е да се създаде нов, като за целта се избере опцията “Създаване на виртуален твърд диск сега”. За тип посочете VDI (VirtualBox дисково изображение). Типа на виртуалния диск трябва да бъде “Динамично зададен”, което означава, че на физическата система за съхранение ще бъде записан само реални размер на съдържанието на виртуалния диск и няма да се резервира цялото негово пространство. Препоръчителния размер на виртуалния твърд диск е 40 GB. С това създаването на виртуалната машина приключва, но се налага да се промени настройката на мрежовата свързаност, която за нуждите на упражнението трябва да бъде от тип “Мостов адаптер” (Bridged Adapter). Стартирайте новосъздадената виртуална машина и посочете като ISO файл инсталационния Ubuntu Server. Следва да се избере език за инсталационната процедура. Посочва се опцията “Install Ubuntu Server”. Отново се посочва език за инсталационната процедура. Следва етап, при който се конфигурира географското местоположение на сървъра. От списъка с опции се избира “Other” и след това “Europe” и “Bulgaria”. Следва да се конфигурират регионалните настройки. Изберете “United States”. Инсталационната процедура достига до етап за избор на клавиатурна подредба. Отговорете с “No” на въпроса дали да се извърши автоматично определяне и след това посочете “English (US)” и след това от списъка отново посочете “English (US)”. Задайте име (hostname) на системата, например „frepple”. Въведете име и фамилия на администратора. Въведете име на потребителя. Следва да се въведе паролата за дадения потребител. Използвайте надеждна такава (комбинация от малки и главни букви, символи и цифри, с приемлива дължина). Повторете избраната от вас парола. Инсталационната процедура извежда въпрос за шифриране на работната директория на потребителите. За нуждата на упражнението изберете “No”. Ако системата е успяла да получи IP адрес чрез DHCP или SLAAC и има достъп до интернет, автоматично се определя часовата зона. Потвърдете с “Yes”, ако тя е зададена като “Europe/Sofia”. Инсталацията достига до етап на създаване на файловите системи. Изберете диск “Guided – use entire disk”, “SCSI3” и “Write changes to disk”. Натиснете клавиша Enter за да посочите, че няма да се използва Proxy сървър за достъпа до интернет. Можете да конфигурирате автоматично инсталиране на обновяванията, свързани със сигурността. На тази стъпка трябва да внимавате. С помощта на стрелките от клавиатурата и Space изберете “LAMP server”, “PostgreSQL database”, “standard system utilities” и “OpenSSH Server”. Натиснете Enter. Въведете и повторете парола за MySQL сървъра (няма да се използва в упражнението). На въпроса за инсталиране на Grub отговорете с “Yes”. Завършете инсталационната процедура като потвърдите рестартиране на системата. Обновете системата чрез следните команди: sudo apt-get update sudo apt-get upgrade Част 2: Инсталиране на FrePPLe Създайте базата данни в PostgreSQL сървъра, като въведете: sudo su - postgres psql template1 -c "create user frepple with password 'frepple'" psql template1 -c "create database frepple encoding 'utf-8' owner frepple" psql template1 -c "create database scenario1 encoding 'utf-8' owner frepple" psql template1 -c "create database scenario2 encoding 'utf-8' owner frepple" psql template1 -c "create database scenario3 encoding 'utf-8' owner frepple" exit sudo sed -i 's/local\(\s*\)all\(\s*\)all\(\s*\)peer/local\1all\2all\3\md5/g' /etc/postgresql/9.*/main/pg_hba.conf sudo service postgresql restart Изтеглете FrePPLE 4.0 (Debian Package) с wget: wget https://sourceforge.net/projects/frepple/files/frepple/4.0/Linux%20Debian/frepple_4.01_amd64.deb Инсталирайте Python3: sudo apt-get -y install python3 python3-pip pip3 install --upgrade pip Изтеглете инсталационния скрипт за FrePPLE 4.0: wget https://raw.githubusercontent.com/frepple/frepple/4.0/contrib/django/requirements.txt Инсталирайте необходимите компоненти: sudo pip3 install -r requirements.txt Инсталирайте изпълнимите файлове на FrePPLe: sudo dpkg -i frepple_*.deb sudo apt-get -f -y -q install Конфигурирайте Apache 2 сървъра за FrePPLe: sudo a2enmod expires sudo a2enmod wsgi sudo a2enmod ssl sudo a2ensite default-ssl sudo a2ensite frepple sudo service apache2 restart Инициализирайте базата данни на FrePPLe: sudo frepplectl migrate –noinput При текущата версия на FrePPLe възниква следната грешка: alex@frepple:~$ sudo frepplectl migrate --noinput Traceback (most recent call last): File "/usr/bin/frepplectl", line 31, in <module> from freppledb.common.models import Scenario File "/usr/lib/python3/dist-packages/freppledb/common/models.py", line 21, in <module> from django.contrib.admin.utils import quote File "/usr/local/lib/python3.5/dist-packages/django/contrib/admin/__init__.py", line 4, in <module> from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME File "/usr/local/lib/python3.5/dist-packages/django/contrib/admin/helpers.py", line 5, in <module> from django import forms File "/usr/local/lib/python3.5/dist-packages/django/forms/__init__.py", line 9, in <module> from django.forms.models import * # NOQA File "/usr/local/lib/python3.5/dist-packages/django/forms/models.py", line 565 return cnt if cnt <= 20 else 20 ^ TabError: inconsistent use of tabs and spaces in indentation Редактирайте файла /usr/local/lib/python3.5/dist-packages/django/forms/models.py: sudo nano /usr/local/lib/python3.5/dist-packages/django/forms/models.py Модифицирайте ред 565 като изтриете двата TAB: def initial_form_count(self): """Returns the number of forms that are required in this FormSet.""" if not (self.data or self.files): return len(self.get_queryset()) cnt = super(BaseModelFormSet, self).initial_form_count() return cnt if cnt <= 20 else 20 Инициализирайте отново базата данни: sudo frepplectl migrate –noinput Отворете в браузър адреса на виртуалната машина (може да го проверите с командата ifocnfig): Включете се в системата с потребител admin и парола admin. Разгледайте интерфейса на FrePPLe. Изключете виртуалната машина с командата: sudo poweroff Упражнение 7 - Въведение в работата с FrePPLe Целта на упражнението е да се запознаете с основите при работата със системата FrePPLe, въвеждането на данни и създаване на основни типове справки. Един от основните термини, свързани с работата със системата FrePPLe е буфер (Buffer). По същество това е комбинацията от артикул (item) и местонахождение (location). От гледна точка на инвентара това е къде се намира дадена стока. Има три основни начина за попълване на буфера: 1. Закупуване на артикул (изделие) от доставчик. 2. Трансфериране на стока или артикул от друго местонахождение. 3. Производство на артикул. FrePPLe позволява за даден буфер да се дефинират повече от един начин за неговото запълване, като в този случай алгоритъма за планиране автоматично ще подбере най-подходящия за конкретната ситуация. След въвеждане на необходимите данни в таблиците “supplier” и “itemsupplier”, даден буфер може да бъде запълнен след генериране на заявка към съответния продавач. Закупуване на артикул A, произведен от фабрика А от продавач X Артикул А от фабрика А Ако използвате помощника за въвеждане на първоначална информация (“Help” – “Wizard To Load Your Data”) секцията “Distribution” ще ви помогне да подготвите и въведете необходимите данни за да можете в последствие да реализирате и трансфер на артикули. Артикул А от фабрика А Изпращане на артикула от фабриката към склада Артикул А в склад А Отново същият помощник позволява да се въведе и информация за производството, като тук се използват няколко отделни таблици. 1 Поточна линия Компонент А от фабрика А Изработване на продукт Артикул А във фабрика А Компонент B от фабрика B На база на гореописаните блокове се получава пълната диаграма на веригата на доставките: Поточна линия Компонент А от фабрика А Изработване на продукт Артикул А във фабрика А Изпращане на артикула от фабриката към склада Артикул А в склад А Компонент B от фабрика B Описание на модела Моделът в упражнението се базира на примера, разработен от FrePPLe - https://frepple.com/wpcontent/uploads/Distribution-model-description.pdf. Разгледана е верига на доставки на артикули за малък магазин за тенис оборудване, при който единствената печалба се калкулира от директните покупки. В магазина се продават 11 вида артикули: Артикул All-surface tennis ball pack Hard tennis ball pack Clay tennis ball pack Tennis racket Цена (USD) 7.50 7.00 6.00 180.00 2 Novak racket 300.00 Clay tennis shoes 60.00 All-surface tennis shoes 75.00 Tennis short 18.00 Socks 5.00 Tennis tee-shirt long sleeves 20.00 Umpire chair 380.00 Магазинът поучава артикулите от регионален склад (RDC), който от своя страна се снабдява от два доставчика: Доставка на материали RDC Магазин Доставка но готово оборудване за тенис Част 1: Стартиране на FrePPLe Стартирайте виртуалната машина, която създадохте в упражнение 6. Проверете полученият IPv4 адрес, като за целта стартирате в конзола командата: ifconfig Отворете браузър и въведете в полето за адрес – IPv4 адреса на виртуалната машина. Свържете се към системата със следния профил: Потребител: admin Парола: admin Част 2: Промяна на паролата на администратора От менюто “User Admin” посочете “Preferences” и заменете паролата на потребителя Admin с “mtf_iti_123A” (без символа за кавички). 3 Част 3: Въвеждане на примерни данни Въвеждането на примерните данни за упражнението се извършва от менюто “Admin” и подменюто “Execute”. От списъка с действия под таблицата се избира “Import a spreadsheet” и се посочва файла freppledistribution-data-template.xlsx. Натиска се бутона “Import”. Ако действието е преминало успешно се визуализира информация за броя на импортираните записи. Генерирайте план, като от списъка „Launch new task” изберете опцията “Create a plan” и натиснете бутона “Launch”. От “Launch new tasks” изберете “Generate buckets” и натиснете “Launch”. 4 Изберете менюто “Purchasing” и подменюто “Purchase orders”. Натиснете бутона purchase order.xlsx. Изберете менюто “Distribution” и подменюто “Distribution orders”. Натиснете бутона distribution order.xlsx. и импортирайте и импортирайте Разгледайте генерираните от системата доклади: Sales: o Demand report; o Demand plan Detail; o Problem report; o Constraint Report. Inventory: o Inventory Report; o Inventory Detailed Report; o Problem Report. Capacity: o Resource Report; o Resource Detailed Report; o Problem report; Част 4 – Прогнозиране Поради технологичен проблем с версия 4.0 използвайте базата демонстрационната база данни от адрес https://distribution.frepple.com/. Отговорете на следните въпроси: 1. 2. 3. 4. 5. Каква е сумата на планираните продажби за месец август 2016? В кой магазин има артикули с наличност под 50% от необходимата и кои са те? Каква е прогнозата за продажби на “All-surface tennis ball pack” през месец юли 2016? Има ли артикули с прогноза за продажба, близка до 0? Има ли закъснели доставки? 5 Упражнение 8 - Въведение в прогнозирането на продажби Целта на упражнението е да се запознаете с основите методи при прогнозиране на продажби, на база на исторически данни. Задача 1 – Експортиране на данни от FrePPLe Стартирайте създадената в предходните упражнения виртуална машина с FrePPLe и експортирайте данните за продажби (Sales Orders) в CSV файл. Задача 2 – Описателна статистика 1. Стартирайте RStudio. 2. Поверете, дали са инсталирани необходимите библиотеки: install.packages("outliers") install.packages("psych") install.packages("forecast") 3. Импортирайте CSV файла (в примерите в документа е прието, че се казва Lab8_SO) с данните за продажби. За целта използвайте Environment – “Import Dataset” – “From CSV”. 4. Проверете дали типа на данните е правилно определен. За колоните с дати и часове използвайте тип DateTime и задайте формат “%Y-%m-%d %H:%M:%S”. 5. Заредете библиотеката psych: library(psych) 6. Изчертайте хистограма на колоната Quantity: plot(Lab8_SO$Quantity) 7. Използвайте boxplot за да получите диаграма от тип “кутия с мустаци” . boxplot(Lab8_SO$Quantity) 8. Изчислете описателната статистика за колоната Quantity: summary(Lab8_SO$Quantity) 9. Заредете библиотеката outliers: library(outliers) 10. Проверете за наличие на стойности, отличаващи се от нормалните: outlier(Lab8_SO$Quantity) 11. Въведете следната функция, която ще премахне отличаващите се стойности: remove_outliers <- function(x, na.rm = TRUE, ...) { qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...) H <- 1.5 * IQR(x, na.rm = na.rm) y <- x y[x < (qnt[1] - H)] <- NA y[x > (qnt[2] + H)] <- NA y } 12. Филтрирайте отличаващите се стойности: Q <-remove_outliers(Lab8_SO$Quantity) 1 13. Генерирайте описателна статистика за Q: summary(Q) 14. Създайте графика (кутия с мустаци за Q). boxplot(Q) Задача 3 – Прогнозиране с R 1. Заредете библиотека forecast library(forecast) 2. Използвайте meanf за прогнозиране на количеството на продажбите на база на средна стойност за 10 месеца. 3. Каква е получената стойност за прогнозата? a. 0 b. 15.0643 c. -11.45408 d. 55.65001 e. -25.52141 4. Използвайте метода за прогнозиране “Naïve”, като повикате naive. Като параметри отново прогнозирайте продажбите за 10 месеца. 5. Каква е получената стойност? a. 1 b. -20.52442 c. 22.52442 d. 33.91876 6. Повторете анализа чрез “seasonal naïve”. Използвайте snaive: snaive(ts(Lab8_SO$Quantity,freq=30),10) 7. Повторете анализа чрез метода “drift”: rwf(Lab8_SO$Quantity,10,drift=TRUE) 8. Използвайте следния код за сравнение на точността на прогнозирене: q <- Lab8_SO$Quantity[1:25] forecast1 <- meanf(q, 10) forecast2 <- naive(q, 10) forecast3 <- rwf(q, 10,drift=TRUE) plot(forecast1, main="Forecasts...") lines(forecast2$mean,col=2) lines(forecast3$mean,col=3) legend("topright",lty=1,col=c(4,2,3),legend=c("Mean method","Naive method","Drift method")) Задача 4 – Прогнозиране с Excel 1. Заредете експортирания CSV файл в Excel – използвайте “Data” – “From Text”. 2. Изтирите всички колони освен Due и Quantity. 3. Използвайте “Data” – “Forecast Sheet” за да изчислите прогнозата. 2 Упражнение 9 – Прогнозиране чрез метода на Holt-Winters Целта на упражнението е да се запознаете с основите методи при прогнозиране на продажби, на база на исторически данни. Задача 1 – Експоненциално заглаждане 1. Приемете, че като входни данни разполагате с 𝑦𝑥 = 0.8𝑥 за х = 1 … 20. 2. Създайте програма (на език по ваш избор), която да използва уравнението на Холт: 𝑦̂𝑥 = 𝛼. 𝑦𝑥 + (1 − 𝛼). 𝑦̂𝑥−1 3. Програмата трябва да позволява въвеждане на параметъра 𝛼 и да извежда резултатите в удобен за обработка вид. Задача 2 – Експортиране на данни от FrePPLe Стартирайте създадената в предходните упражнения виртуална машина с FrePPLe и експортирайте данните за продажби (Sales Orders) в CSV файл. Задача 3 – Прогнозиране 1. Стартирайте RStudio. 2. Импортирайте CSV файла с данните за продажби. 3. Проверете, дали типа на данните е правилно определен. За колоните с дати и часове използвайте тип DateTime и задайте формат “%Y-%m-%d %H:%M:%S”. 4. Инсталирайте библиотеката “data.table”. 5. Изчертайте хистограма на данните от колоната Quantity. 6. Създайте променлива sample_data, в която сумирайте количеството на продажби по месеци tmp<- data.table(Forecast,key="Date") sample_data<-tmp[,lapply(.SD,sum,by=Date) 1. Изчертайте хистограма на sample_data. 2. Използвайте функцията HoltWinters, като за входни данни подадете sample_sata, а резултатът запишете в променлива hw. 3. Изчертайте графика, показваща стойностите от hw. 4. Прогнозирайте продажбите за период от 24 месеца. Повикайте функцията predict с входни данни hw. Преценете какви да бъдат стойностите на останалите параметри. 5. Изчертайте графика, на която визуализирайте hw и прогнозните данни. 6. Проверете разликата в планирането, ако се използва добавъчен или мултипликативен метод на HoltWinters. 7. Сравнете прогнозата с тази, генерирана от FreePPle (използвайте https://distribution.frepple.com). 1 Упражнение 10 – Прогнозиране с изкуствена невронна мрежа от тип MLP Целта на упражнението е да се запознаете с основите методи при прогнозиране на продажби, на база на невронни мрежи от тип MLP. Задача 1 – Експортиране на данни от FrePPLe Стартирайте създадената в предходните упражнения виртуална машина с FrePPLe и експортирайте данните за продажби (Sales Orders) в XLS файл или използвайте файла от предходно упражнение. Премахнете всички колони освен “Due” и “Quantity”. Преименувайте “Due” на “Date”. Задача 2 – Инсталиране на необходимите компоненти на R 1. Стартирайте RStudio. 2. Въведете: if (!require("devtools")) install.packages("devtools") install.packages("nloptr") install.packages("foreach") devtools::install_github("trnnick/TStools") Задача 3 – Прогнозиране с НМ 1. Импортирайте файла с данните за продажби. Задайте име Forecast. 2. Проверете, дали типа на данните е правилно определен. За колоните с дати и часове използвайте тип DateTime и задайте формат Date”. 3. Сумирайте данните по месеци – използвайте Data.Table. Подходът е описан в лекцията за прогнозиране чрез метода на Холт-Уинтърс. 4. Създайте обект от тип ts с име obs_values_ts. 5. Генерирайте графично представяне на obs_values_ts. Графиката следва да бъде: 1 6. Разучете приложението на TSTools от сайта http://kourentzes.com/forecasting/2017/02/10/forecasting-time-series-with-neural-networks-in-r/ 7. Използвайте MLP невронна мрежа за прогнозиране за период от 12 месеца. 8. Генерирайте графично представяне на невронната мрежа и на прогнозата. 9. Променете броят на невроните на скрития слой и прогнозирайте за 12 месеца. 10. Визуализирайте получените резултати и сравнете с тези от предходната прогноза. 2