Вырашым задачу аб аптымізацыі змен працоўных з дапамогай Пошуку рашэнняў MS EXCEL 2010. У якасці прыкладу разбяром задачу са зборніка "Метады аптымізацыі кіравання і прыняцця рашэнняў" аўтары Зайцаў М.Р. і Варюхин С.Я. (2008г.). Задача 2.43 "Праблема майстра".
Зборнік задач "Метады аптымізацыі кіравання і прыняцця рашэнняў" даволі папулярны ў якасці задачніка для ВНУ, таму спасылкі на яго сустракаюцца паўсюдна ў інтэрнэце. Прыемна, што для кожнай задачы маецца адказ у канцы кнігі - можна параўнаць атрыманае рашэнне з рашэннем, якое знойдзена аўтарамі з дапамогай Пошуку рашэнні (У годзе так 2000-м, я мяркую).
Ўмовы задачы (арыгінальныя)
Майстар павінен выбраць некалькі фрэзероўшчыкаў з 10 (Р1, Р2..Р10) для вырабу 8 відаў дэталяў (Д1, Д2, ... Д8) для партыі прадукцыі:
так, каб скараціць агульныя выдаткі працоўнага часу. Сярэдняя колькасць дэталяў, якое кожны працоўны можа апрацаваць за змену, дадзена ў табліцы:
а. Вызначыць аптымальнае размеркаванне працоўных па аперацыях, прымаючы пад увагу, што працоўныя Р5 і Р9 не могуць вырабляць дэталі Д5 і Д2 адпаведна.
b. Які самы кароткі тэрмін выканання гэтай замовы?
Разбор ўмовы задачы
Скажу шчыра, але ўмовы задачы не здаюцца мне выразна сфармуляванымі. Вось мае каментары:
1) Працоўных называюць спачатку фрэзероўшчыкі, затым проста працоўнымі. Навошта?
2) Выкарыстоўваецца паняцце "аперацыі", гэта значыць маецца на ўвазе нейкая пэўная паслядоўнасць дзеянняў. Гэта значыць можна падумаць, што спачатку робіцца аперацыя Д1 (выраб дэталі 1), затым Д2 і г.д. Каб высветліць гэта, звернемся да адказу:
Гэта значыць няма ніякіх паслядоўных аперацый, ёсць проста 8 тыпаў дэталяў, якія трэба вырабіць. Прычым адзін працоўны вырабляе за змену або даўжэй толькі адзін від дэталяў, затым, калі ёсць неабходнасць, то пераходзіць да іншага тыпу. Паняцце "аперацыі" не дапамагае студэнту зразумець ўмова, а толькі яго заблытвае.
3) У адказе цэлая і дробавыя часткі змены аддзеленыя кропкай, але як вядома, у Расіі падзельнікам з'яўляецца коска. Акрамя таго, відавочна, што дробавая частка змены прывядзе да дробавага колькасці вырабленых дэталяў (гэта як то незразумела). Як следства, у задачы плануецца складаць 63,111 і 48,888 дэталяў, каб выканаць заказ. Што не вельмі лагічна.
4) У ўмове выкарыстоўваецца "сярэдняе колькасць дэталяў, якое кожны працоўны можа апрацаваць за змену". Як быццам, гэтую задачу плануецца вырашаць статыстычнымі метадамі з выкарыстаннем нейкай функцыі размеркавання.
5) Навошта сказана, што "працоўныя Р5 і Р9 не могуць вырабляць дэталі Д5 і Д2"? Проста пастаўце нуль, ніякага сэнсу ў гэтай умове няма.
Акрамя бяскрыўдных недакладнасцяў у фармулёўках ўмовы ў фармулёўцы задачы адсутнічаюць 2 дадатковых абмежаванняў, без якіх вышэйзгаданы адказ не атрымаць. Разбярэмся ў гэтым, вырашыўшы задачу.
рашэнне
Калі вы не знаёмыя з Пошукам рашэння, то для пачатку прачытайце артыкул Пошук рашэння MS EXCEL. знаёмства .
Каб пабудаваць мадэль для Пошуку рашэнні (ПР) у EXCEL трэба вызначыць 3 яе складнікаў:
- мэтавая функцыя (тое, што мы будзем аптымізаваць, напрыклад, мінімізаваць працавыдаткі), гэта формула ў адной вочку (вочка вылучым чырвоным);
- зменныя мадэлі, гэта тое што будзе змяняць ПР падчас пошуку (вочкі вылучым зялёным);
- абмежаванні мадэлі, напрыклад, Заказ павінен быць выкананы (вочкі вылучым сінім).
Створым у файле прыкладу на лісце а дапаможную табліцу (загрузка рабочых па зменах) і запоўнім яе дадзенымі з вышэйпаказанага рашэння.
Цяпер разлічым, колькі ж дэталяў будзе выраблена пры такой загрузцы рабочых.
Аказваецца, у вырашэнні памылка друку. Пры дадзеным адказе не будзе выкананы заказ - асноўная ўмова задачы. Аказваецца, дэталь Д6 таксама вырабляе працоўны Р4. Пасля дадання патрэбнай колькасці змен, атрымаем правільны адказ - зараз заказ выкананы.
Вернемся да табліцы загрузкі рабочых па зменах і яшчэ раз уважліва паглядзім на рашэнне, прыведзенае ў задачніку.
Аказваецца, колькасць змен у кожнага працоўнага складае ад 1 да 4 (роўна)! Чаму? Таму што, гэта дадатковае абмежаванне, пра якое нічога не сказана ва ўмове задачы. Атрымаем гэтае рашэнне. Для гэтага створым мадэль.
Будзем мінімізаваць агульнае колькасць змен ўсіх працоўных (гл. Формулу ў чырвонай вочку). У якасці абмежаванняў запатрабуем выкананне замовы і загрузку кожнага працоўнага ад 1 да 4 змен. Зменнымі з'яўляюцца ячэйкі, якія змяшчаюць колькасці змен рабочых.
Націснуўшы кнопку Знайсці рашэнне атрымаем менавіта той адказ, які дадзены ў задачніку. Каб зразумець, адкуль узялося абмежаванне пра загрузку кожнага працоўнага ад 1 да 4 змен, выдалім гэтыя абмежаванні і зноў запусцім Пошук рашэння. Вось адказ:
Як бачым, агульнае колькасць змен ўсіх працоўных зменшылася (35,78 супраць 37,23). Дык навошта аўтарам спатрэбіліся гэтыя дадатковыя абмежаванні? Справа ў тым, што без гэтых абмежаванняў мы атрымаем трывіяльны адказ, які відавочны і без Пошуку рашэнні! Параўнайце загрузку працоўных з іх прадукцыйнасцю:
Максімальная прадукцыйнасць выдзелена колерам і дзіўна супадае з знойдзеным рашэннем. На самай справе рашэнне відавочна: каб скараціць загрузку рабочых - вазьмі самых прадукцыйных (па тыпах дэталяў) і загрузі іх! Гэты факт прыводзіць да думкі, што альбо задача некарэктна сфармулявана, альбо няправільна вырашана. Будзем грашыць на рашэнне.
Перад тым як вырашыць задачу іншым спосабам, адкажам на другое пытанне задачы: "Які самы кароткі тэрмін выканання гэтай замовы?" (Гл. Файл прыкладу, ліст б)
Каб вылічыць самы кароткі тэрмін выканання заказу - проста ўбяром 2 доп. абмежаванні пра колькасць змен (ад 1 да 4) у акне Пошуку рашэнні і зменім мэтавую функцыю ў чырвонай вочку J31. Цяпер будзем мінімізаваць максімальнай працягласцю змен рабочых (= МАКС (J21: J30)).
Пры гэтым лічым, што ўсе 10 рабочых працуюць незалежна адзін ад аднаго (на розных станках), таму час выканання замовы будзе роўна максімальнай колькасці змен ля аднаго з рабочых. Атрыманы адказ 3,89 супадае з адказам у задачніку (менш за 4-х дзён).
альтэрнатыўнае рашэнне
Зараз паспрабуем перафармуляваць ўмова задачы.
Па-першае, выкажам здагадку, што кожны працоўны за 8-мі гадзінную змену абавязаны зрабіць усё 8 тыпаў дэталяў (ад Д1 да Д8). Г.зн., у 1-й гадзіну кожны працоўны робіць Д1, у 2-й гадзіну кожны працоўны робіць Д2 і г.д. Прадукцыйнасць дадзена ў табліцы.
Па-другое, заказ трэба зрабіць за 1 змену.
Пытанне: якіх рабочых трэба ўзяць, каб выканаць заказ мінімальнай колькасцю рабочых?
Пры такой фармулёўцы задачы мы пазбаўляемся ад нецелых змен і дробавых дэталяў (кожны працоўны працуе 1 змену). Таксама мы не атрымліваем трывіяльнага рашэння.
Калі для выканання заказу мы бярэм працоўнага, то яму прысвойваецца значэнне 1, калі няма, то 0.
Пошук рашэнні (па ранейшаму лінейная задача) знаходзіць, што дастаткова ўзяць 7 рабочых, каб выканаць заказ. У гэтым выпадку, праўда, заказ будзе некалькі перавыкананы па некаторых тыпах дэталяў.
Таксама можна ўскладніць задачу, вылічыўшы, якіх менавіта рабочых патрабуецца ўзяць, каб лішкі па замове былі мінімальныя.
Які самы кароткі тэрмін выканання гэтай замовы?Навошта?
Навошта сказана, што "працоўныя Р5 і Р9 не могуць вырабляць дэталі Д5 і Д2"?
Чаму?
Дык навошта аўтарам спатрэбіліся гэтыя дадатковыя абмежаванні?
Пытанне: якіх рабочых трэба ўзяць, каб выканаць заказ мінімальнай колькасцю рабочых?