From 7839f5e555787f33a77f7fde9ddc453c3ea1faac Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Sat, 24 May 2025 17:15:34 +0200 Subject: [PATCH] wip: wdwr --- Programming/WDWR/projekt/R/scenarios.txt | 1001 ++++++++++++++ Programming/WDWR/projekt/R/t-student.R | 18 + Programming/WDWR/projekt/data100.txt | 101 -- Programming/WDWR/projekt/doc/main.pdf | Bin 113574 -> 68411 bytes Programming/WDWR/projekt/doc/main.tex | 1152 +++++++---------- .../WDWR/projekt/{ => old_code}/ER.txt | 0 .../WDWR/projekt/{ => old_code}/WDWR.r | 0 .../WDWR/projekt/{ => old_code}/WDWR1.dat | 0 .../WDWR/projekt/{ => old_code}/WDWR1.mod | 2 +- .../WDWR/projekt/{ => old_code}/WDWR1.run | 0 .../WDWR/projekt/{ => old_code}/WDWR2.dat | 0 .../WDWR/projekt/{ => old_code}/WDWR2.mod | 0 .../WDWR/projekt/{ => old_code}/WDWR2.run | 0 .../projekt/{ => old_code}/WDWR2_trunc.dat | 0 .../WDWR/projekt/{ => old_code}/WDWR3.run | 0 Programming/WDWR/projekt/old_code/data100.txt | 101 ++ .../WDWR/projekt/{ => old_code}/data10000.txt | 0 .../WDWR/projekt/{ => old_code}/readme.md | 0 .../projekt/{ => old_code}/results/distr1.csv | 0 .../projekt/{ => old_code}/results/distr2.csv | 0 .../projekt/{ => old_code}/results/distr3.csv | 0 .../projekt/{ => old_code}/results/result.csv | 0 .../WDWR/projekt/wdwr/result-minAvgProfit.txt | 53 + .../results-minAvgProfit-FSD-profit(2).txt | 99 ++ .../wdwr/results-minAvgProfit-FSD-profit.txt | 99 ++ .../wdwr/results-minAvgProfit-FSD-risk(2).txt | 99 ++ .../wdwr/results-minAvgProfit-FSD-risk.txt | 99 ++ Programming/WDWR/projekt/wdwr/wdwr17421-1.dat | 1046 +++++++++++++++ Programming/WDWR/projekt/wdwr/wdwr17421-1.mod | 117 ++ Programming/WDWR/projekt/wdwr/wdwr17421-2.dat | 77 ++ Programming/WDWR/projekt/wdwr/wdwr17421-2.mod | 128 ++ Programming/WDWR/projekt/wdwr/wdwr17421-3.dat | 80 ++ Programming/WDWR/projekt/wdwr/wdwr17421-3.mod | 164 +++ Programming/WDWR/projekt/wdwr/wdwr17421-4.dat | 80 ++ Programming/WDWR/projekt/wdwr/wdwr17421-4.mod | 248 ++++ 35 files changed, 3976 insertions(+), 788 deletions(-) create mode 100644 Programming/WDWR/projekt/R/scenarios.txt create mode 100644 Programming/WDWR/projekt/R/t-student.R delete mode 100644 Programming/WDWR/projekt/data100.txt rename Programming/WDWR/projekt/{ => old_code}/ER.txt (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR.r (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR1.dat (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR1.mod (99%) rename Programming/WDWR/projekt/{ => old_code}/WDWR1.run (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR2.dat (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR2.mod (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR2.run (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR2_trunc.dat (100%) rename Programming/WDWR/projekt/{ => old_code}/WDWR3.run (100%) create mode 100644 Programming/WDWR/projekt/old_code/data100.txt rename Programming/WDWR/projekt/{ => old_code}/data10000.txt (100%) rename Programming/WDWR/projekt/{ => old_code}/readme.md (100%) rename Programming/WDWR/projekt/{ => old_code}/results/distr1.csv (100%) rename Programming/WDWR/projekt/{ => old_code}/results/distr2.csv (100%) rename Programming/WDWR/projekt/{ => old_code}/results/distr3.csv (100%) rename Programming/WDWR/projekt/{ => old_code}/results/result.csv (100%) create mode 100644 Programming/WDWR/projekt/wdwr/result-minAvgProfit.txt create mode 100644 Programming/WDWR/projekt/wdwr/results-minAvgProfit-FSD-profit(2).txt create mode 100644 Programming/WDWR/projekt/wdwr/results-minAvgProfit-FSD-profit.txt create mode 100644 Programming/WDWR/projekt/wdwr/results-minAvgProfit-FSD-risk(2).txt create mode 100644 Programming/WDWR/projekt/wdwr/results-minAvgProfit-FSD-risk.txt create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-1.dat create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-1.mod create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-2.dat create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-2.mod create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-3.dat create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-3.mod create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-4.dat create mode 100644 Programming/WDWR/projekt/wdwr/wdwr17421-4.mod diff --git a/Programming/WDWR/projekt/R/scenarios.txt b/Programming/WDWR/projekt/R/scenarios.txt new file mode 100644 index 00000000..71204308 --- /dev/null +++ b/Programming/WDWR/projekt/R/scenarios.txt @@ -0,0 +1,1001 @@ +9.27759280930115 7.24283388566567 5.93351648315334 6.30791319306216] +[9.38139384857139 8.87784202617744 5.26696425232243 5.96581803328877] +[10.6926220475598 9.70372661441304 6.12291943457783 5.15279708112993] +[8.19902307564632 9.80320717312642 5.48196563966613 5.57688085824019] +[5.91406595796085 6.62376410697808 6.82405687573193 6.72950291487635] +[8.33237616417517 8.22641237342498 9.88126437296101 6.06416642669644] +[6.66756609634115 10.0412085821464 6.58390828139937 5.94375512303434] +[10.2378211598317 6.51935279207838 7.20444934312459 6.4401605143984] +[10.4907774167784 6.92669657019399 10.6073691981937 6.53929785025616] +[5.48586499796268 6.45676498876922 8.13409153437734 6.83183346685974] +[7.10171888611205 6.10215825931172 9.4804718348474 7.3077180399823] +[5.86633381041433 7.93210339517458 9.49790882297595 7.26294214002445] +[11.7950209532949 6.845623306805 8.1109361297276 5.85632901007425] +[5.74842564297429 9.86761128832408 7.48860935440416 7.66951022074346] +[10.4187800363328 9.19027118402585 6.10949301000245 5.63560130067462] +[5.3721144779257 8.06459036630728 7.05840430079496 6.74628559148989] +[8.14458762953998 7.23813232116475 5.8490284917013 5.7030734027918] +[9.63960184920493 11.4166312051587 5.32958108730554 6.02122590154804] +[7.67771177200252 9.90778346152135 7.63651137716776 6.16689665967907] +[9.50323599435363 7.10039662450243 5.20710104724355 5.98624854458677] +[8.87593683492758 7.63055162785844 6.12227912139891 5.18119599825767] +[11.1421835376232 9.33901963573616 8.73003295439658 5.28715355124636] +[7.34893339434595 8.94036534491516 6.77552975934492 5.65166668141265] +[9.97739337314022 7.4793818581556 8.8384736578988 5.75748967522165] +[11.2142574110874 7.96870833121964 8.13400889968211 6.13166720504871] +[9.3701297413636 6.95830352761707 9.00840629564456 6.17241103422844] +[5.86303881206519 7.27208612801822 5.06127751344106 6.45754806066036] +[10.084893939677 6.3369386968191 7.85228750753413 5.52590319678819] +[7.9451557069034 5.4221752249042 9.56452959447017 6.18748300206505] +[7.80319190877652 9.63406208784127 6.53362671417535 5.98808105485133] +[5.1156200229476 11.7042888254229 5.35262848252225 6.22541894304253] +[7.38506211133803 5.76356002896674 5.7816115489337 7.02367469133885] +[6.05006183739495 7.39659230698127 8.08486839348987 6.26242567754829] +[7.81927504565787 5.06239918521848 6.79085401433234 6.50731300951143] +[7.81267127908707 11.3110115417994 6.5804087669942 5.7994453947319] +[6.62234926095845 9.47227777704007 6.31141591607877 5.28543709464757] +[9.22859510840692 8.80769304038759 5.76720522844319 5.63777496856473] +[6.88414383854631 11.0916362795627 5.05017674981146 5.86785565166096] +[7.54356140919862 8.78082058365047 6.60493884712814 6.15901696102056] +[10.0254045814058 9.62243884251188 6.88219676687809 6.13457930331135] +[10.8765396016314 6.83562861283299 5.86336554686219 5.97772841197851] +[5.68364769653371 9.93438716840928 6.40991265029109 6.65649667858183] +[10.9217143918414 5.48166959479551 10.4494504478334 6.43406818621007] +[9.55654305099068 8.73484112776095 7.11302208022012 5.34430204054694] +[10.5307299546379 7.4047044890633 6.1584747431166 5.73659478610656] +[7.65340974013282 6.25170984140112 8.07617566996299 6.60963884528635] +[6.94232800697471 6.54333440927335 7.55466822705715 6.39496094361427] +[7.60445437885774 5.44222548394295 7.07314899714163 6.47604251544434] +[8.53650389023698 9.00297603428402 7.1694866955703 6.09819727388441] +[7.57207706860216 8.3885369155932 6.08615073307008 6.46194245804446] +[8.92829277956796 8.24291296968628 7.41584686234527 5.71656689437555] +[5.47531335002083 6.85078916872018 9.01217375890257 6.46146752011981] +[5.26524882601325 8.73380198333446 6.8289005632286 7.15782250069309] +[10.8779275439275 9.01449000655571 8.68858176328366 6.14761559647501] +[8.18359095630939 7.20455900076005 6.77564216909321 5.86036101049224] +[9.4522919383946 7.53041477054875 5.83486248928833 6.33273329335449] +[9.95438983149886 7.67524657057746 8.42626130906737 5.23523291492939] +[5.10349275227283 11.2622653969021 5.5267763521538 6.08919557638999] +[9.41586490355078 5.61733665215863 8.22702362201692 6.52105885148455] +[9.94339134377824 6.78728026524971 6.27590147105675 5.11563287293627] +[7.19824042915076 10.3884140567071 7.01989414981204 6.70097505259543] +[10.635195155723 6.49404683852362 7.68047911422953 6.27571791080601] +[10.1904427032777 7.34260834723823 7.64019089839605 5.58148104820331] +[8.01317227769687 7.71281567329243 8.21156027609855 5.85929877499034] +[7.22516913421619 5.7955262617055 8.5586237991533 6.55116502147732] +[8.49751068716314 7.98825096756306 6.78323965098021 7.43916681769992] +[9.63685906363691 8.95841646933391 6.68869547277996 5.90292575138481] +[7.40012604268651 5.29256919248429 8.5966826248084 7.37807011016103] +[11.2550089966709 9.53000638660296 5.55763543587361 5.51236857261755] +[8.90809130931713 10.9163474243634 7.34225501103169 5.13830712127247] +[8.36154243399423 5.70534168855874 8.70492951411545 5.69243524631669] +[10.0187816002845 7.47912893635236 5.71310389455566 6.8057536312628] +[8.80794345059281 6.8263715919237 7.2894810895063 6.56997380033318] +[9.29566005033587 6.17304443946861 8.35679496860527 5.91166480409246] +[6.30989739844143 9.52130662990202 6.71241885339994 6.2891798015051] +[9.41315468119717 8.78959202598543 6.73930194561971 5.76107225648009] +[10.7277345384356 7.37873682132354 7.74658972741336 6.07728394339342] +[7.70526949998909 10.1303812409212 7.50765953925647 7.50802490723334] +[10.992683795023 7.20629138790725 7.09618758746808 5.37322957436728] +[8.39272066923538 9.23473407654147 5.63242167335716 6.12078247509329] +[6.52773273705757 7.27235068250932 6.67614305500368 7.50788487267171] +[5.57222657338206 5.55730646572046 8.69431743119344 6.63581188693727] +[8.98453770231382 9.18673937079637 7.95286565189954 6.05004679042115] +[8.10358622006204 10.1477299295603 6.23430905502384 6.52503449329267] +[8.5501923622298 7.33204934438855 7.61181657733987 6.13793860035036] +[11.780094752651 10.3473130867459 5.2799195380941 5.62525079322213] +[6.8047754910384 6.82692470359623 8.22881372867358 6.73370043559461] +[8.69010836949083 10.3095277269868 7.70324954566301 5.79376326850515] +[11.4182206041997 9.02404124940558 7.56285959258052 5.79367273992795] +[6.97816949900181 8.33707397467157 7.44647847519072 6.4038949909107] +[9.51219393252072 6.16299770866721 9.0850620156622 6.42164052419524] +[6.41615352756755 10.0220891761185 6.6285705038754 5.99775950210161] +[5.60525265400832 8.64468129248139 6.46274046164087 6.74434886321278] +[11.8557194133587 7.1349199359773 6.07062224548271 5.53927909202998] +[9.1292671361358 10.0540856517833 9.16034890450671 6.21282379948955] +[7.21699674943681 7.50268933650423 7.76968378052742 7.20628079841044] +[9.49921352812373 6.84684619864356 6.78257720632564 5.98526536538027] +[10.7089637875791 7.92563649118431 7.13546127256978 5.32239627497419] +[7.94769725365117 6.4015209538627 9.2707110874759 6.82032607654119] +[8.82648512585406 5.94608703083113 7.36815670109773 6.05931557385612] +[8.34226971943745 8.86837700525775 6.66695871030517 6.16891036279413] +[9.53678982486839 8.84326142473136 6.50835983138565 5.82098166877383] +[6.82312225649506 6.86593436234168 7.48167785422859 6.69851586443097] +[8.33581718609124 5.86448168995719 8.10629501199468 5.67195537450711] +[10.8097089650007 7.80043143608251 7.23773041065731 5.52468549601639] +[8.39693472368056 6.63112803069286 8.32364350205496 6.45469382184257] +[11.3491484990689 7.02575841475571 7.74340702618839 5.89149058063699] +[8.0852823430689 9.75643021714528 5.830589235452 5.34766172576996] +[7.87516379259244 10.8711572752638 5.11614853637468 6.48264940518555] +[9.36991854446231 6.93396210656757 7.74957239505057 6.59954401230941] +[8.71537678006145 7.74011247880527 6.55869458471816 6.01679253738207] +[10.606937810235 5.30113256864209 7.95635842387114 6.18106891364982] +[8.43668415414105 7.20669359745665 6.31980359752139 6.32506833731349] +[11.1279098477593 7.70641119251633 8.22389056921199 5.01382640241347] +[9.59392149296936 9.34554654803312 6.88547638552769 5.96060785164041] +[11.8861984660365 7.76043024909178 7.0027381362096 5.5694334124439] +[7.73904046320038 6.49457373823851 7.53447178925267 5.51607611989421] +[9.57127380911445 6.17178923132108 9.47998851427524 6.19338254600612] +[11.8702477432576 6.17853486042119 7.79663105526473 6.21251563110598] +[5.27660731905136 8.37996174492788 6.54020317256712 6.72119870421462] +[6.84144747743749 7.04954829118246 7.24271633126811 6.09911503248479] +[7.38080940364796 8.10517059720225 6.49508377906429 6.36083186728273] +[5.99608043657403 10.4290247835027 5.03641355010724 6.12706206167437] +[8.03891209675883 10.6778657073899 7.62514161126546 6.6359427521821] +[8.40512226242237 7.0276738320633 6.14375774735196 6.28855391362284] +[9.60782314078249 10.3362756675055 5.22112852390091 5.58952057723522] +[9.74422776257677 11.4736510070929 5.41798288135691 6.66056622005969] +[7.00556792319413 10.7987230508614 5.09103896223398 5.99386572854174] +[10.3498630259504 5.40718694877553 9.19374852153094 5.88139385694941] +[11.5248606097786 5.64284047728652 7.88577290828969 5.56557363003137] +[5.1572528502178 8.69176840774951 7.65054285991261 5.83400905902667] +[8.51908320860499 8.29800417924783 8.73948020873341 7.75520246506007] +[10.093813897023 5.02261905505331 7.38348067400141 5.7680013319845] +[5.36627366669011 9.46912997203542 7.30201621356699 6.67075631881597] +[7.75752466914156 10.4364823205218 6.3723233554936 5.74677574097477] +[10.857830443567 6.47670629364485 9.56766359086215 6.72942301170165] +[5.06788597515448 9.35959176875956 7.11593771401154 6.76252467009307] +[10.8876663983816 6.6449305258975 5.77564788573043 6.02927467151534] +[11.8209896132386 7.76842297148701 7.0641618989058 5.35554565790938] +[5.86039265505375 7.51473846563966 8.8185421525311 6.9737233922796] +[7.04395892121901 9.83074860002095 7.43317051692949 6.3918204275513] +[7.83467826721483 5.8502834978877 8.764437965324 6.18837255573372] +[6.27990576343796 11.5796998277236 5.79753129081771 6.66052754425027] +[10.0596105971796 6.40719026016128 7.41666775656333 5.72429911824431] +[11.1297193669317 7.07832588855981 7.77131171966607 5.74441812771892] +[7.94401499288536 11.994432739572 6.4152220818035 6.07265083556317] +[11.8566812019993 9.22796101843939 5.5556768147309 5.21107340766476] +[11.6947039379032 6.93314731846352 8.27144425229381 5.40227891339432] +[7.94433515271516 10.9244894163602 5.05334682886919 6.55438604755202] +[11.9263998989008 6.76929416291257 6.5451308549197 5.45466000742557] +[5.5191885971948 8.22249046406068 8.40353746969503 7.24969188650365] +[6.38267790900205 7.31420305015071 8.43276259883972 6.88898389797486] +[7.61152240735485 8.71021920189821 5.5874780644461 6.70335642004404] +[7.21447931339803 9.93792003214732 8.06785541773088 6.9212327229464] +[8.56225511360296 7.1159747850051 8.69686602459484 6.10483625109161] +[9.50299890729194 6.17057566105098 5.57879572167032 6.6255094637932] +[11.5614208592733 10.2083574035227 5.43688465953628 5.73102673801545] +[9.45655501560642 5.07064349085957 9.19949186096367 5.25068804583809] +[5.02412856986355 8.83352495427799 8.70312800594555 6.62584286760233] +[10.9986110239509 10.0162676884031 8.97975563139558 5.41152542420212] +[10.510903257073 5.59144715767605 9.20271337904371 5.82798874712359] +[6.13402646219073 8.99923661664148 5.1592037073659 6.01802658138668] +[8.86101306571981 6.85513624346888 6.79051020557921 5.89297103928595] +[8.08592785326702 8.31437008192515 9.99865053240143 7.05189555096761] +[8.45008723804833 8.75431241391861 6.20133329390258 5.76743341166099] +[10.5053496735554 9.32435110022298 6.72524752308504 5.10900176287926] +[5.65508026944332 5.72872197782571 6.65865856821888 7.1509127751195] +[11.3211620046293 7.9764590690755 5.70660389660564 5.81102790796117] +[9.7707281387794 9.78079160372113 5.53126180655749 5.41177524779584] +[6.31112883788991 6.99800247470056 5.81768387626352 7.23607979244537] +[9.01294291506669 7.38242908185273 10.9134627387661 6.48426470822035] +[11.4871100034928 6.34218270754784 6.96749220844697 5.50736731359148] +[7.06060291816752 6.45312746285341 11.3733768386547 7.2843621821989] +[10.2853945520147 8.62156251090191 6.44495400697287 5.14566413251223] +[9.78624607191151 8.58745699059834 6.90659654009418 6.00523545795571] +[5.61812302835157 8.4341286569496 9.00529084946106 6.5934411981162] +[6.06309767885426 7.26144737550903 7.05188936490989 5.21043056621291] +[7.00742442233709 9.9647750810025 7.27150868767103 5.87399606285171] +[7.78737762721475 7.94689341809173 8.30042286778814 6.54246939672359] +[7.99693479132523 7.35049181966148 6.54815274974323 5.95970607087766] +[6.89570914050632 8.11547713291127 8.61743015696653 5.80683464978948] +[10.4166930593515 6.99972008779253 7.95584091439056 5.99026054314523] +[6.57944783582598 8.19361342276644 7.83301719464634 6.80884569697368] +[9.61128051599175 7.40947438548487 6.36670536946232 5.83826697946219] +[5.92875603646139 8.38477369425213 7.38296338769189 6.90561582050528] +[10.9765612362229 5.50654836361862 6.96565497506242 5.99229939506528] +[8.84190889784396 7.2437885752275 7.31543974731558 6.16410705118246] +[6.26162209634592 8.88889379801582 8.31368645228192 6.12800055206311] +[9.88635972854982 11.0257745441368 5.10495975060981 7.18977422192035] +[6.39304986528874 11.1700970966055 6.16981736151559 5.41506452405069] +[7.34450973294144 10.8971118580234 5.66150070446582 6.32231872032888] +[8.1040119526871 9.07947390446885 6.22082154540273 5.14726950607854] +[11.2805080767214 5.57449272712989 8.15295875908858 5.93251749438805] +[8.33248667884606 5.70463341523232 7.71425668151415 5.90925906830791] +[9.39236801229479 7.78483077046674 5.37391159145497 5.79989643544611] +[6.95581730186309 9.9946096318481 6.88463064596933 6.48304599222231] +[9.5017573539569 6.06044728103635 9.10874399681317 6.31794519431537] +[10.2630040580861 11.1605799811626 5.87251864000249 5.95926784593924] +[11.1199911455455 6.72718714024608 7.13540765750967 6.01604249995044] +[9.48765921019998 6.04964510233813 8.3405531420198 6.6114945590266] +[9.07239697437428 5.96279353080089 7.50732976370852 5.89703589384149] +[9.2309940798396 10.3337842772272 5.4176734860582 5.21771615546674] +[10.5537145501219 8.59283970036067 6.13184633489803 5.20751974188197] +[6.69097147374456 9.7494882349774 6.61038916322781 6.74260553217785] +[5.11652665408579 8.52849441526238 6.85152748070086 5.29195418077538] +[5.8970951935766 8.28381687934059 7.87463127506528 6.92826371770987] +[8.9237231255945 6.8307504649125 7.25850980275111 5.29503912530938] +[6.06491580115242 7.89486064970066 8.13366062578542 6.21137008493366] +[8.60494815297292 8.11838397640212 7.66562621406797 6.57214623391139] +[11.7253523189267 8.31755724135873 5.64680576547838 5.08976845517917] +[5.62694013822886 7.57676225515698 7.20766060456276 6.56254290656147] +[6.33147632247173 10.1758525756479 8.29997089549612 5.268706248117] +[7.96487454116932 5.75643075872389 7.28040848172631 6.63178962693529] +[5.04049164795814 7.71492655377612 6.94628225061335 7.24540153898665] +[8.59535072423957 6.98462131948513 8.72915244614434 6.84367063513753] +[9.99556462635167 10.5297271925987 5.37600156153571 5.73208452820172] +[6.8380481138212 6.20955575580697 6.73929588161456 6.32429014314428] +[11.104636821644 5.00192780846335 11.4682579071396 6.32970959410766] +[8.13934006389678 10.4252210090282 7.64401273565557 5.6423582829463] +[8.09937993857311 6.77908265031737 7.93298268699515 6.08779664861743] +[9.91495943749497 6.89982102396848 8.99193060250963 5.82215315908228] +[10.2104763460599 10.7544097574415 6.02689242222125 5.29622370511195] +[9.89900560921231 5.94925609308014 7.62236827833874 5.9721351869727] +[8.60397680655535 5.09854822199789 11.0128047648018 6.15974759014265] +[5.17910880783237 8.93632020079794 8.20759529952052 6.73632712963566] +[11.5755390908214 7.65662254660281 6.08145530399793 5.32350295151308] +[8.29120329131212 8.36232708946408 6.8790839988578 5.67993264792344] +[7.41503135803847 8.39785148285354 6.25693564600402 6.0083461804014] +[7.67914346762864 9.34557398266238 6.73951040349309 6.01205028132412] +[8.82399160928211 9.63801779889076 5.79686843436323 5.77498638811719] +[6.33573299698211 9.52955520002543 5.78572356101748 5.91508119436362] +[7.42436989935408 11.5247542178427 5.11091279397458 5.71642926259034] +[8.83198766385878 6.66902044387442 7.64173634547515 6.6022252863384] +[8.13194896721727 10.2914043883175 7.29913424102555 6.36198479343803] +[6.06286293966673 6.53294857843213 9.0182061710514 6.61359342591994] +[7.56987528841894 8.87168978950115 5.07244777596941 5.84106578979936] +[8.89178558953666 6.53706127103598 7.10983017567775 6.45232518090381] +[10.6745446611169 8.97690305412683 6.52618865492576 6.41917463652604] +[11.534814245086 5.50456408865867 5.75438923804382 6.18084219297187] +[10.0092849532554 7.27618633061219 10.1324595582159 5.74523230345517] +[8.76192270592084 7.94621871850056 8.61583767637202 6.40529664164935] +[8.6439247737167 6.92607633427552 9.20699321027784 6.33428064758627] +[7.74050444291459 9.57961402600356 6.12749075509184 6.18470461360287] +[11.0816873133576 8.00625601577545 6.82126526503016 6.39819981448795] +[11.7111998620177 7.90391007757475 6.94796936587228 5.87813387348302] +[11.0798630697396 6.72849447473873 10.229845239402 6.2474558130799] +[10.3412920933094 7.94366468945061 5.00930888308661 6.9346154460125] +[11.1931386400183 8.25584332288619 8.30342150274755 5.11654942140671] +[10.3827469274846 7.55346530467854 6.81606988746555 6.01602338757887] +[7.55815542104803 6.76736182603807 6.82770461670614 6.43705811667069] +[7.08957608455795 6.78936059993526 10.4946023577702 7.40850793726551] +[7.66392395857955 6.75309527048464 8.24959809966628 6.52723953213988] +[6.14699232598331 10.5992273691187 8.08429420502944 5.89164770226751] +[6.12880717385192 7.10103859641693 5.89550357726546 6.85811902612532] +[9.76266462752836 6.6403868593974 6.01041141692818 6.35362260177164] +[6.09904144391761 7.86050521190966 6.42375980916572 6.54108638299462] +[7.38022814147333 9.18228510095215 7.0105054815283 6.51361774677569] +[10.5550813833085 7.96867156144448 7.52215631010445 5.99294152860684] +[11.4966169666704 5.69004895877669 7.56723644862722 5.2742364082208] +[7.86734708352821 10.1150756819382 7.41387936790602 6.02249778575707] +[5.3548713699452 10.9382777156313 5.75998372950131 6.67843469522477] +[6.65399110354838 6.42729913548099 7.59399075962459 7.23890484983351] +[7.61643608321514 11.0012588911961 7.55646822435403 5.62335932588746] +[11.9695982237366 5.67607784733571 7.68972826831245 5.70708487176106] +[9.93581216533268 7.41948340242094 7.14928806565869 5.54122660468345] +[11.5265198570587 8.24785969864226 7.74540563061114 5.26203454005238] +[5.50629757266965 10.9031902565571 5.79338551138445 6.67003274396761] +[10.808887842005 7.79507312813402 5.60258267553055 5.0603878039777] +[6.68221581656797 10.1813618885998 7.72109617269729 6.0003280099314] +[11.8072360695632 8.9118697349637 6.8496084884291 5.41147255562922] +[7.87732027918284 9.29426086943663 6.61690053164587 6.30944900327335] +[6.49994810771785 5.23052524729718 11.1869463791122 6.58277255465442] +[9.01736685206743 8.9965295080108 7.79410583692229 6.47864829421028] +[5.04423083535257 6.35350613853839 7.63717755778523 6.75201483883025] +[8.75479468391583 6.36790745032127 8.34949103296913 6.40849694494139] +[9.37248760918579 9.15996920543636 9.11740724498063 6.13676106298652] +[11.690798184778 8.47245113135033 8.22525863513803 5.05116569451758] +[7.50024959534901 9.3817598037851 7.16045732716706 6.33513113075766] +[9.59198502195331 7.91127655472605 8.94296183745834 5.70098564455945] +[5.6811735111317 6.03661281570243 7.82081465133364 6.56130720856113] +[9.05583265880381 10.8070151562165 5.66346499120671 5.36086676076135] +[6.72915098376125 9.11138000656426 6.66589734018482 6.39614150241901] +[9.31916987938835 11.2221416398037 5.51082845170226 5.51441716115995] +[10.8941105032289 6.94490971954506 6.17463012191229 7.03144124760728] +[9.67982036657407 9.01447896216257 6.4081042341032 5.90345910284674] +[5.0736559404963 6.04825426954205 8.45390226683761 7.45562026066061] +[11.3458891254166 8.03397210919953 9.04106345428047 6.89171889909791] +[10.1716751563589 7.65230591504349 6.67755600237944 5.80357651011234] +[7.5569263235508 11.9351575061168 5.15844142951319 5.79929170582341] +[5.72914607714705 5.7089510279128 7.62214571058573 7.48254693222172] +[8.30900477348246 5.32779136864518 11.6892154417457 6.72055693188809] +[11.9055195474361 6.0167803159427 7.06550536774694 5.66095578300873] +[11.1031484448405 8.25746731685968 5.39177047060253 5.56407796558132] +[10.330779058539 11.164094376922 6.22512304634563 5.54986310556144] +[10.4485950791296 6.51687979811207 9.38971025108826 6.11411829910124] +[11.1076789717396 6.2802256375054 10.8730412282001 6.83173492642133] +[5.96007058491692 10.7441234010722 7.13168299278113 5.65148871750308] +[10.4194531257485 10.7309163500472 6.60702804385482 5.41889388885522] +[8.95577443851796 9.07297447408932 5.02018866658757 5.79512179252304] +[6.43475096976883 7.2705647889145 7.27907878765988 6.07562639777924] +[8.58015656842428 7.38471585430632 8.17944563141666 7.45245289142306] +[8.29057034007592 9.75200371379592 6.47012345618089 5.2016964033463] +[6.06575134445703 6.10144794098384 7.38016379128293 6.5043457979609] +[11.8808801438122 10.5387773128316 7.12078965820639 5.22807662732941] +[8.19984487711264 10.1650930843676 8.03683008464436 5.83250096122332] +[9.21910060354656 7.6418808898127 9.01412944272355 6.08766332467123] +[10.7660675657093 6.35588410218046 6.83919976240939 5.4350684337965] +[8.42441141497923 10.887100563077 7.03148290553535 6.23565312246605] +[9.36013864652663 8.16643656190435 6.43273022381714 6.05501152434329] +[8.28451450903393 5.58260186210801 6.09605457123314 6.07705549202956] +[5.02750950494238 5.94396602747009 9.03834719949585 6.71301583561114] +[10.2943202085098 5.63071202760742 7.76451585637982 6.03013315143123] +[11.9092656273031 9.34531215826198 6.94719728529278 5.23243665927379] +[6.92201506819185 8.07758560313404 8.70714001238991 6.22512788108563] +[9.08920468364198 7.13768400825106 7.28835791097371 6.0728241093751] +[8.3890626785385 9.13325708675409 7.99500239797881 6.5240866105884] +[5.93426137291953 10.3130757999586 5.45565043887387 6.33491163756434] +[6.43852894233132 9.7411978794638 7.30269864054571 6.91112930641561] +[6.61577152053097 11.2266518718623 6.4165627528888 6.02967527762683] +[7.46231707573266 8.8964539596497 6.7059753959766 6.28510854248757] +[9.52714684150844 6.75049057041103 7.6476205117971 5.61896959623367] +[11.3408874146635 5.64081218268416 7.42219825684562 5.36511982407575] +[11.0773617787613 5.30673429251556 7.17627875555577 6.72590716829604] +[8.41682391674476 5.22053091739064 10.1986195662131 7.4753481611452] +[11.2691464160152 8.24890857678357 5.51877857858525 5.12135525834973] +[7.66053418402967 5.80859724682353 9.19940933196187 6.04373860594424] +[6.08247543614583 9.81195029480988 5.69527459191451 6.98124688019194] +[5.00418415104445 8.6196150473206 8.39490460439032 6.35581361491948] +[8.94466394843343 11.1972444256971 6.98526448443993 5.49952416650986] +[5.46965265605968 6.95259861165164 7.9919066678147 6.62705698445265] +[8.13207828476494 9.07007018459725 7.40996781039306 6.97922247578944] +[10.2971246733143 7.32555681949354 6.21764227310604 5.72750416288985] +[5.33663836802333 6.45866829264883 7.55358571126867 7.02714054127267] +[5.97820849199717 6.10325831553339 5.70391269407926 7.13482654990423] +[10.368096334892 11.1547753635542 6.57366808430982 5.21183084659679] +[10.034757677325 7.58556421424507 5.30518251160847 5.51063232962985] +[10.1880613043549 9.04255465641531 6.66892445971464 5.65470396394061] +[7.06995995974291 8.12479286341199 7.76947136340957 6.4065411255504] +[11.6494659961455 11.1348461851435 7.00911884741434 5.42011920075681] +[8.91078199750014 5.3371268007762 9.79415802350725 6.39279242812726] +[8.12935986735941 8.43579959730936 5.73794381520164 6.29719800218519] +[7.1280866390415 5.86882120954701 7.51300559702114 6.44121448974909] +[9.95010599989238 7.05542130704317 5.91874130742069 6.28002789241647] +[7.07253273729503 6.52555044182889 7.24518228541689 6.09416592823106] +[10.9355052925201 8.13493001757437 8.3513158197066 5.49932439134351] +[5.97252389746313 5.27680208452068 9.45011186306009 6.98054057056802] +[9.14914929487048 6.5034117016625 8.85823142190409 6.87855024033043] +[6.54234572844018 10.0608053956268 6.35778556441871 5.77735528236896] +[7.81678519712108 8.46395414317869 5.52185830178716 6.00256244101364] +[6.93422244554975 6.72718844612459 11.8353146719585 7.72717287840292] +[5.21571457748948 6.67593606186355 6.46732754608201 6.63956468071775] +[10.820999329044 7.84960813905633 6.16518036777416 5.75775463499119] +[7.25422647450168 9.27593855107277 5.68673080228558 5.84085063945079] +[6.16871402053499 8.58161685195538 5.13512868924239 6.2680706329713] +[8.30066511504298 8.14787642309584 7.43851336870333 5.85618368939594] +[9.78451781674277 8.09248866612073 7.22670526314641 5.27546899097103] +[8.15076230650362 6.64595525305124 5.00220528462236 6.06483026353898] +[6.80760280590403 9.97426620101983 5.94048828378055 6.02341662770027] +[5.50275037046074 7.90992232898488 9.9254080261356 7.31516863166792] +[8.06801532555138 7.07897629947377 5.81906866150237 5.54858484608239] +[11.8518927909806 7.54864832718745 6.38478100408963 5.5608603439092] +[8.41789046388118 11.4725784049501 8.19858242535229 6.34555878756291] +[8.67912096611726 9.23878507141079 6.62338143049866 5.77723022074704] +[9.9737401891752 8.45978295245166 10.2981984347878 5.5610950443737] +[11.0801185110774 6.47816227287934 7.0476367353669 6.5748143668251] +[11.6352618115256 8.06534770960391 9.26812859854384 6.05659181731774] +[9.04952904474823 9.40841907461315 9.04811576869408 5.73524990665047] +[8.01294752434531 7.80956412446575 7.93891542735347 5.61734600704208] +[10.3815652624256 7.78313808099606 7.68249366526938 5.9119633154433] +[10.2146723683612 9.0622269862939 5.96843389847474 5.60119666165091] +[9.44502078816244 6.52825036653825 8.39200624664264 6.36004241033227] +[5.22836695497749 10.9744002674119 5.88029121031414 6.44289543877937] +[7.9804563675931 7.7735317117565 9.29683857527504 6.29978824750152] +[9.66060200342252 8.31199354274572 5.99124233251092 5.8238611854857] +[8.1376180828998 7.86773303331331 7.00968761893499 6.54736991551644] +[6.80983641177983 9.33175640335055 7.94191526308291 6.62669869991577] +[5.92373906210312 7.06057038878313 8.28290098850875 6.23700958023319] +[7.78885295771544 8.36449724076531 5.45305783175737 5.65691003481541] +[8.53354218113429 7.62067327737728 8.78677585920301 6.91099334253243] +[11.6954677776635 6.02207846089999 6.84373988359581 5.57651417641472] +[10.2252972059963 11.3372229736799 5.10047201513996 5.13058962438311] +[8.67069684956242 8.78098466941995 8.17210741421678 6.6822132971557] +[7.03905281154273 9.31610544903284 5.17075665957902 6.19128876188564] +[5.66165426143844 9.82851239359678 6.12614941808861 5.75934332660836] +[10.598653270485 8.61637573079324 5.83785032113841 5.34100196394832] +[7.07408392498233 9.32808108214222 8.40762035596947 6.87354800422355] +[5.97061485897996 7.93095288507728 7.73551632542609 6.69812430836063] +[6.94451682882944 10.0857226865817 6.49852759373931 6.4462696345621] +[9.67446241035537 7.09184236933087 7.31187545106505 5.59612698843131] +[6.8682306847036 8.29101012495398 9.09611739305478 7.5550196535068] +[7.95516600978574 9.88424166286455 5.29039765516832 5.80179918576252] +[6.3237215302772 6.03796044094907 6.70983598673386 6.54080103969224] +[9.87676449328121 8.54747737956673 6.00298053641959 5.7290883293404] +[7.78605235137468 9.7081003445663 5.08051280908091 5.44838977552313] +[5.90432755289999 8.1616208156132 8.5952160628393 6.96009872999589] +[6.6027992792878 6.32297201174896 8.1687893746315 6.68613583625332] +[11.6727017944908 6.31300624622054 8.69024918446166 5.30239600508176] +[5.33907417552589 6.06164949194811 6.99719309939033 6.67861166353375] +[10.7397106680032 6.58452397856439 6.13060994083935 5.69674653294718] +[10.0063710989888 8.41550910771958 6.65258171045177 5.72604385593155] +[7.10314686198393 10.5605563247705 9.12713411818806 6.70201555070164] +[8.60680539223868 7.3052409455281 7.17871738526453 6.41846678463847] +[6.51190251915303 6.94382915554224 7.06729088076755 7.41097084255494] +[8.98793086682638 10.7830760165035 5.06824960239328 6.03766831235634] +[6.95807876319356 9.01462771682567 7.8697512455182 6.28763081398675] +[9.25955809586324 7.26983475504301 5.01035695484516 5.58513249082729] +[11.6585555243737 8.05973736851503 6.04915365862025 6.11095332906765] +[10.0211680780355 5.30731805796385 7.12685428604594 5.7904297600878] +[7.8980902796225 7.56242610157545 7.25293318108518 6.18437713273686] +[8.56839441652283 7.27879795000741 6.50968614350153 6.15953864884637] +[6.08191956841574 7.62604958022459 8.88252515318425 6.95833864236992] +[11.7832828322142 5.28440637037046 11.7733241406491 7.10222745514485] +[11.0193247911962 8.26964260033992 5.22552896042849 5.13701093024256] +[11.4417102967893 6.96823120275108 8.77063570020925 5.82125553214393] +[11.5188289894717 11.2008920754294 5.74382262261061 5.19190177015029] +[7.94117126551869 7.27944339293782 7.55750174981557 6.66109137551802] +[11.0074549125857 7.8369312380065 8.22635505697803 6.07450990264991] +[5.87294095784217 8.27682300018162 6.52678264207211 6.31196473356991] +[8.77256517597534 11.6223091556619 5.42339657551733 5.39106198482421] +[8.51426203805023 10.3391009548141 5.30945472091565 6.10398661365383] +[6.04819589511972 11.4225722766751 5.1104814813138 6.65289938246263] +[7.91160877807791 10.5643311244322 7.11747217753366 5.7429059424998] +[10.4815049017751 7.09023524501658 7.44380881027859 7.22556865929895] +[10.0141777668477 5.0269375548312 6.79134305549093 5.99257841143481] +[9.91959673611589 5.62989116079406 7.32550084058189 6.35512388014886] +[10.4061405721291 8.52859506810994 6.75589302711522 5.61538289707342] +[7.55322619501426 10.3012850191592 6.51481918242581 6.93888239884308] +[11.6994634778884 6.84097178890563 8.48794713328046 5.68589898919735] +[9.30036375802606 6.86448949349185 5.73661175066342 5.8854828420625] +[6.74950284647176 6.74368876506852 8.04386818601378 6.88253693092431] +[7.94642606163465 7.45506604999015 7.26773582994511 5.91500731892059] +[11.7009399762149 5.21200435526564 9.64771219781516 5.96590075850426] +[8.7113824589552 8.3393387006982 5.62599774762013 5.83677458259167] +[11.1218282884064 10.3426421364163 5.70516418735164 5.87352896330658] +[6.15043846858744 9.20809013319728 6.09597713871345 6.26240212424358] +[5.82799657741715 9.74721740531695 10.0370250438299 6.30649397847665] +[9.50697666449849 7.30214213308329 5.93908591483873 6.52180304115227] +[9.43573335095816 10.1570042364792 7.58574086019326 6.20877152002449] +[7.47659385763882 10.3465799792545 7.86896297750469 5.9599970370384] +[9.85108032879128 6.51623738586781 5.99923809812787 5.98052284655545] +[8.08835925260641 6.07193298384274 9.99443828236719 6.29703514034122] +[5.8451510061169 7.22068753618941 8.11223696495053 6.35539099558641] +[11.4587331876089 5.24995349693645 8.21962803275951 6.01925082993092] +[9.81790753970366 9.24354614705043 5.88864262980254 5.29109659002176] +[9.13212638035922 8.61008208968708 7.14355401323737 6.30545632038435] +[10.8830253277334 6.27829601981653 6.79519122382549 5.76474915216025] +[11.9074820590654 9.04678925845882 5.9696738936078 5.21039548204895] +[11.2984993784629 6.54809058901822 5.00234118574509 5.35235736010839] +[10.4441904714574 6.71590240378994 7.8318178749689 6.47808261452694] +[11.7704877163677 7.29570102170808 8.76111305309691 5.63269572627577] +[8.90703859602136 9.22131058560485 8.89248399601787 6.11921740404227] +[11.4873246737446 9.64599145224547 8.24230284620043 5.99977152941547] +[8.92723991379625 10.8599983348608 7.17293254084938 5.45011803630166] +[7.01561410068583 9.41847572285728 7.77881300720612 6.43693428231955] +[7.76066070401897 6.86104209816815 5.53626031021125 6.14227676598866] +[11.9089252047246 6.2206528760387 7.21859505501228 5.56859203488781] +[5.10220554315541 7.03259272889596 11.5917039435085 6.46461707502751] +[8.57051521688843 6.1545540814536 7.96193316467701 6.20068596963574] +[5.469264535307 9.5482664819597 7.19781705390481 6.21120878866627] +[7.28878470485789 9.08854754878088 7.88377859468298 6.36418716575483] +[6.6457595589441 6.60949129966478 10.1938938898133 6.77580250509154] +[6.43026343259235 7.04531970533917 8.88271388831787 6.71090545645966] +[5.25846849616462 5.63455760153765 9.29716443065113 7.84912105688633] +[7.45386986258575 6.818601675207 6.4007279176434 5.83786496165236] +[9.27468391359216 9.19015391365645 5.31373095291737 5.77068795758638] +[11.1482979611916 6.73127639662829 8.31187721462176 6.50127067859875] +[5.73562373800837 8.58813942181024 6.44059195115333 7.18039757528157] +[7.26993425063849 10.0845177464131 7.8373681411302 6.02604189694605] +[10.0728987811529 6.00123685727534 7.84371617439517 6.47019498780447] +[6.35145519454408 9.24085021577237 6.68251077169567 6.43177964975021] +[7.18702393138046 6.08496884682718 9.94454602528461 6.90092548700804] +[6.77239238936307 7.10488384631796 6.01538427719011 6.70233818280157] +[10.1147108607896 8.3752952231025 5.56951770957316 5.26216259379568] +[11.2919421506896 6.52373247224198 7.62230305558696 5.612267545138] +[11.0310468082438 9.59384548490408 5.80267433728722 5.11535754695855] +[10.9876836975631 11.176475442481 5.19326333358521 5.72861039075692] +[5.65720411666634 5.23253001025693 9.35911770718034 6.76839418635489] +[8.66200973459141 9.91501960199565 8.01969216090648 6.20203048303063] +[10.2946063450078 10.8539085935977 5.30411451972035 5.33173646419765] +[11.214523280163 6.57470130994083 7.01375227060331 5.97130341976101] +[5.16781211453986 9.42334021904916 9.28553920955732 7.22481042135019] +[7.80557650978779 7.71391888085751 8.39050378779397 6.32046184084791] +[10.2015706460908 5.20324398407914 8.46379425408088 6.44809765032037] +[8.57094472812962 6.90755438780055 7.56166630541498 6.30849829245095] +[9.45707159747053 5.15638109615278 8.60145308119438 6.71780777784479] +[10.5391325805974 9.12947131444557 6.25437746333876 5.50534203199657] +[7.87773620921261 5.34257145132163 6.53255851648965 6.63562570134678] +[9.7899856370544 5.80830771790717 6.57927092018377 5.85831623351042] +[7.13537653233058 7.77282921304477 6.07734257593926 6.84088952289776] +[5.30203923212178 7.38843611119274 8.75009023101208 6.80575140320415] +[10.4903091705432 5.12286752282319 7.99074254946628 6.19011099560524] +[10.2466938046574 8.92564081105459 6.63009979498021 6.13176600930409] +[10.1944934789147 8.93892388753788 7.33209197078139 6.05747804865188] +[7.61765613385314 10.6953858150291 8.52498513808507 6.50930121681049] +[10.2365723678097 8.52593593180305 6.99937105537202 6.01214749969129] +[9.08710840917268 7.01469534550814 8.86070117141329 6.52854467991686] +[5.31782897659239 10.6088192697562 10.8816247337418 5.4296716013004] +[9.15200377486562 7.63735323061886 8.70133020279511 6.82368498594209] +[11.4509572092223 8.49969942985312 8.19187713233799 6.02053248533017] +[5.88340875810378 6.44768943851262 8.73212032414749 7.09381369982161] +[6.98870014640604 11.0257736503818 7.10340561321133 5.91746617974215] +[5.52833578273161 8.74278313474255 8.93660678009695 6.41460937118024] +[9.84792619285424 8.07824698926071 6.04570995248793 5.53948216983944] +[11.2795599330639 7.16528253704878 9.4422832989728 5.9479194262063] +[8.23869609018925 10.1039701382733 5.50330636905221 5.90458335688225] +[8.98287187667722 8.94426716584641 7.23022477981261 6.82391479325746] +[8.29383629061631 9.1994769825381 6.51552472769537 6.41148190791313] +[11.8753826517826 7.9198622207265 6.90035536060931 5.5187566842545] +[8.64796635768353 6.63418771167028 7.25948979803357 6.20717577567201] +[8.39298208612705 7.70127717552712 8.1925817668091 6.09229735421335] +[11.8763718808458 9.31027318323117 5.53774573805585 5.08748783610526] +[6.11677564762761 8.38620477192896 5.35243278091575 6.20685930679821] +[10.8108387577959 5.66731251825513 8.19874991755908 5.32594566928479] +[6.20663432271797 10.2006940307765 7.67847500023039 5.86489143647731] +[7.53023372839805 8.86372287731303 5.9625516726027 6.94158223237393] +[6.78834772172663 10.4140699197479 5.13645792158921 6.16478066045371] +[7.96784394113948 5.79719330253011 7.5573425213344 6.24926938181913] +[11.248759562216 8.45583511969712 5.40777417452649 5.25561539287497] +[10.8107576325388 6.45310857855614 7.06145599670662 5.60371853158512] +[6.42539105126809 5.53088792925108 6.65120607698311 6.9417709522808] +[9.11462901627902 8.05206079675802 6.41384708453494 6.16801116596865] +[7.53965600714129 10.0372065354791 5.70380312520312 6.16527336239965] +[11.5004832069067 5.97228118779592 5.22103259642813 5.30243842078083] +[11.5638884163265 5.05981344050289 9.16177264961796 5.60780760656184] +[5.61334732577328 7.60484456487241 8.56304711138088 6.72403835335222] +[9.14163808364082 7.60673448709154 6.88829924413883 5.92911949850758] +[9.57477722485946 6.80951793910948 6.58242705160426 6.08716610819849] +[5.86935068203805 10.4233142168392 6.05996225368974 5.81249023194428] +[6.31868316369409 11.7227137868369 5.25816222904789 5.88685260235789] +[9.05433251497981 6.2791865143178 8.0128646377708 5.87813256086891] +[6.65794344269458 9.32434230488079 6.55317839285835 5.9656446029132] +[8.71317997573724 5.62277446557948 5.40705410811016 5.84869996192363] +[7.06950676321168 7.01400661095678 6.76514442455915 6.92400680050895] +[10.7168610658728 7.39618454027936 6.48356665759294 6.17634038665249] +[5.7669528126638 8.76494609384215 6.17060273529711 6.54092155470073] +[8.70942787334563 8.20604211874346 8.41264245583348 6.28615164492112] +[8.39858095150885 6.38814535528209 8.95613721572012 5.98979994894701] +[9.16917732322458 7.61639774027184 7.60736752282737 6.70781537225931] +[10.233464286329 6.64372991319759 8.8545727624482 5.77195995819056] +[6.98121310073206 5.97303089619011 9.04319930495226 6.78971196815264] +[8.20096199997503 7.49449132923829 7.37898297083276 6.1547583302213] +[6.53781547354851 6.07889171800029 8.56104426796642 7.11369670026186] +[11.6127083783969 7.86559002654136 6.69420610052629 5.21138520230698] +[11.6596374068046 6.0321812374473 7.35427241312973 5.15356316940355] +[8.48248181806493 7.62627544944811 6.28080924946195 5.94263201803744] +[7.90189384853676 6.9095374479732 11.3791348745674 6.77263951552665] +[9.02795522962984 5.06633093627457 8.55845252077139 6.45718454268043] +[10.5762484063127 7.67285929558808 7.38055216256763 5.70984769654218] +[5.76415634620704 10.8955714328641 5.23764202243754 6.33378745672634] +[5.14244639908749 5.17546644675665 10.3653968171429 8.07405163685696] +[9.39828844006753 5.40753478996686 8.03445316644648 5.78895034978975] +[8.27747005871251 5.02229062926871 5.64185055873903 7.00169472489417] +[6.62213936381367 6.00783001476312 8.97435504440926 5.93297213413087] +[9.38539950658105 7.44087794238072 9.43137826337024 6.21620397351279] +[6.88554184214669 6.31912890803124 8.81375783033847 6.72426891843081] +[6.85554987558389 8.51525119270392 8.45334317776259 6.55455345450562] +[5.56557877640354 5.57250277646343 9.65808580619017 6.28014489366245] +[8.61658998812461 9.40643908855695 5.97242532903814 5.60941452884198] +[9.43486896929058 7.64748881619254 6.77046484570011 5.26272099117985] +[10.0651642328894 9.89433137738621 6.74407695470277 5.43990071317332] +[6.80601159938559 9.10969292493601 7.22495483343637 6.56540909911068] +[10.4780629322636 8.43492902195319 5.53989176361465 5.36295201879113] +[8.47553219529904 6.57186191182935 7.36820620721087 5.99990514351041] +[6.81817134272134 10.1001974469885 5.52976193873148 6.25502773870737] +[8.06185124880286 7.26533266225426 7.06298612376833 6.65235136390747] +[10.3305743145187 9.40295658237983 6.73981566167854 5.70151052886235] +[8.56472792212175 7.72506598244171 6.07114461478926 5.84621685114894] +[8.05839603277971 5.52954349202281 9.66581037976918 6.47410562582481] +[9.51952311335999 6.83930891142067 9.02105044672624 7.03021804434274] +[9.43208377374797 10.308479575155 6.86611760560507 5.29501882328112] +[8.11462338734506 8.68399811299526 5.58315116195462 5.87838341801525] +[9.8791935595356 5.46227264543965 9.30757431852052 5.98046386202319] +[7.92000632525623 6.73840439002867 6.8343558420482 6.26390186877522] +[5.71320827805139 10.8511803840852 8.23853140443311 6.79523513486435] +[8.50771654563503 8.4208757879885 8.46534616910975 6.28224066987135] +[9.92792779909708 5.59090159975012 8.12718384624632 6.15471310667531] +[8.13927278020795 10.6014218615047 5.37433712322583 6.22504122788615] +[11.3965847930694 6.12893502027667 9.68137003914259 6.02200768501773] +[5.43006945359968 7.95393085588029 7.44250013207012 6.97502665411346] +[11.0856624720532 11.1250550490293 7.98146841322481 5.40640853496496] +[8.58493147034718 9.11413095626983 6.79636862824401 5.64455308714913] +[7.61674178771182 5.76381044369514 5.47183324245813 7.39398535121977] +[8.4937594232377 10.4932961924122 6.32053995354895 5.45858956219274] +[8.01689684642019 9.25472043232876 8.15175147782784 6.40999678466522] +[7.59117903291684 10.8915551243957 6.43115257582535 6.41877194863827] +[11.4437006683039 6.07147607590277 8.80767841866134 5.69840383596361] +[11.6396571226994 6.35329759716514 6.1897533936341 5.74278067710373] +[8.94498850185712 8.06127767734445 7.42393836583374 6.68276823874392] +[8.38417649301509 6.00271908845602 7.48022813736848 6.54981540827604] +[8.74122165812379 6.58132770415602 6.69891679640098 6.56446227869795] +[10.6855294556063 6.08901929822234 7.49478667431532 6.30667524106814] +[11.8094825414879 6.25306196322485 7.08133685533781 5.45732016048934] +[8.81409763142934 6.370194027024 6.54039389801938 6.77136493375657] +[7.55181652065974 7.50686429415057 7.0319290689508 6.36831721492655] +[8.84960765261186 7.40487090066524 10.3685164119329 5.7892537551344] +[8.96232250071774 10.5982172453863 9.39507693354427 6.35986458386957] +[7.12434873695243 6.38999439893724 7.68763728208693 7.13808365329807] +[7.31643028774073 5.16724348995946 8.27810199235012 6.93659688498626] +[9.64391606019239 9.45773183804522 6.57821015001072 5.64558353123991] +[10.6857666595513 7.95301410884917 6.82622068685912 6.03240434968416] +[10.7908416142317 11.3806129407336 5.90948401846247 5.56440840169502] +[7.65341153964802 9.4630810916023 8.13315635522219 6.37015396929918] +[8.77595228802761 7.74691588710817 8.80860462977329 5.58537506915211] +[9.59733932540433 8.59593645597127 7.78480215785293 5.97335206996389] +[11.7266560019885 8.96792275848865 7.21337870214822 5.88043936962746] +[7.11122059719121 11.7917340584406 6.32453050161712 6.37886942256053] +[10.959792007589 10.5908691420571 6.14985885375607 5.28255502325829] +[10.0273514193627 8.22192606962726 6.70197011532849 5.576655929723] +[7.4587926749803 7.59393910143912 9.18811234852074 6.1268627089991] +[7.92524000997378 8.18547168128722 8.70513028800671 5.71620813404281] +[5.48588829073714 7.12154685134265 8.23702097130202 7.58256782002076] +[9.78697786605506 7.04843700126143 7.24625684040429 5.69379504292001] +[7.74102390081298 8.66465356693741 7.38822968587846 6.51564489300897] +[6.21274049050482 8.56015695933493 7.80882146920657 6.87453372925253] +[7.39845143304748 9.28066481729455 5.78869372971874 6.18771171669908] +[11.2787220571561 6.37688408195646 8.00411576141221 5.66344654118544] +[5.46859200318116 7.57703447856916 8.41024296198831 7.11956704913436] +[5.76839735301198 9.63672235247 8.2832678921971 6.3941979655719] +[5.27848722757739 9.17290212883857 6.18507337857181 6.92070466924565] +[10.2013554934655 5.52357863786464 8.35310491023166 6.67415877902356] +[11.0730789934196 6.04416004191223 7.45357484203526 6.38876038573426] +[7.21250984208558 9.78792714875899 5.4109576217706 6.82126734818351] +[11.444386059093 5.09569304875322 6.29186379416073 5.48670008585361] +[11.5184784799339 8.66294185874331 5.93435310357594 5.11108335897805] +[6.72075213073771 8.96048536726328 6.52923671186087 6.01925489292815] +[6.33569998816141 7.62315477591276 7.98467109196397 6.4170651445563] +[8.52967766771848 9.2498579481613 6.14143812893711 5.66561507956521] +[5.51499871931985 6.49618284282342 8.26575590337429 6.92164499950688] +[5.35329170627911 8.9086832116509 6.23604913719498 6.62995665630734] +[10.1312754296414 5.82315396010423 8.77470873201492 6.91417385337072] +[11.1773121406818 7.95477596415413 7.16170172546896 5.28104504550138] +[7.22818079770315 6.61351258479996 7.20082705334984 7.25292255183513] +[8.11572988020466 8.91224604838499 8.42042949724024 6.23141556997219] +[5.41557357932659 9.52569718291072 7.30817644176055 7.22178327106508] +[8.76385256745272 9.69841479632547 5.5848286987895 5.82567764790443] +[9.80114737929351 8.2501155964637 6.63084491864414 6.11949635335718] +[9.62776823376647 6.23708536569976 8.89983702431241 6.60745301419941] +[9.59797915547572 7.14196733176105 7.26689097942343 5.68096344707282] +[6.37670075574293 11.0021851048229 6.3080885791214 5.5870092013753] +[6.26718724986138 6.38831717857901 8.31591999837148 6.76143809501335] +[8.00016665031571 8.56980680428709 7.02157230317501 6.30221426354943] +[6.56988009729473 9.69838231742283 5.03868405784318 6.42314353170267] +[7.05153440563783 9.17029652669106 5.13193911805343 6.09978560713149] +[6.38238209371426 11.9027853402211 6.7208845438403 6.70787339496747] +[8.05900662518962 5.87988577520511 6.19067484566871 6.44744636677984] +[6.6916653054669 6.1436584206629 8.24274891192317 6.95346928099976] +[11.8984255310702 6.0055183530664 7.88091643597442 5.06542983490493] +[5.41355404748644 9.32321595500351 6.35406487266265 6.83774043010497] +[6.76734405171214 9.41466599497079 7.74506762831546 7.22881235970105] +[7.24447015048479 9.1843959514206 6.49846560863985 6.64578272895871] +[8.9219372147933 7.74609179226711 6.35693766040133 5.67109070983378] +[7.31548264670015 8.48565276624529 6.38036219623039 6.09208547986662] +[8.7852109019904 6.38434958679797 7.5663379280214 6.51766449813742] +[7.84992305071648 10.6908229030956 7.24413596785779 6.14026740036829] +[11.9781785745776 6.33093233494836 5.54677765683211 6.00255982337257] +[10.9547411199276 6.82124800033212 8.08795734264188 6.03849506544767] +[8.11985422571002 11.1756488679738 5.62871843380051 5.26958844053801] +[9.44909259430147 10.6406659098719 6.84544951006185 6.0746760563132] +[8.02540730239146 8.91911227487923 7.46747600433372 6.00535172408607] +[10.8074384881445 6.13808520381451 6.68239818297975 6.21682009175801] +[10.6920904933849 9.14450997943727 5.48575462069407 5.58883701538298] +[5.71315762075603 9.18112890240585 5.37167616141725 6.86349526289967] +[6.44927980597382 9.44627047027539 6.28668529917125 6.46708928876942] +[10.1012678717191 10.4429857893193 5.79968322973543 5.78019093421606] +[11.5525582086737 7.23519517362262 7.5447115995889 5.97531565457136] +[9.50728059720057 7.96413771012868 6.52893299587299 6.34689171837851] +[6.3462799385147 11.129714896887 6.11806939313352 5.53053879878946] +[10.5588213501691 11.3625831504044 5.28474356650284 5.17919035662557] +[9.98745088364904 7.15789411687363 5.28106897805549 6.21808648951297] +[11.7050087026803 9.52335329705296 5.24269952380998 5.83900515702632] +[10.198040988241 9.18229584088407 7.28658645915963 5.5208578607823] +[11.4828197441178 9.63814865807829 5.98258010891066 5.62444088896082] +[6.5963399660756 6.6297271743649 9.99084782257998 6.38920688604084] +[8.74654837132717 5.33820486116765 9.89359329909137 6.79701988902106] +[7.29424382990102 10.3598127526158 6.59641666354603 6.67148382938313] +[10.1586455016859 5.48163976718561 7.99038784769222 6.29091789947277] +[11.881276227016 8.58001559598753 10.9182143362804 5.66387081872011] +[7.3803224424879 5.50381168581311 9.39843995637198 6.32034349613471] +[8.19976881574617 6.03712742348985 7.24250148896535 7.22843110675995] +[7.35958070502173 8.68895548366481 9.14918572794994 6.22467028222186] +[9.65776083968514 7.77207820331845 6.02864290257335 6.29302339600258] +[11.2511010196325 8.36828858365471 8.3388931849978 5.89956737161479] +[5.17494718007357 7.29577713015546 8.74172419192761 6.5656309878953] +[8.99466132600087 5.731813253632 5.27090002429623 6.17083603812139] +[5.21091147081174 5.1717228549031 7.59803865238386 5.69260360325498] +[8.50677854836742 6.62351976221925 8.32831696714589 6.17286525186411] +[8.79395880777254 8.96989920855224 7.94705234209466 5.78023457881236] +[11.0652369518733 7.40272862898107 6.41543878772608 5.48191718383066] +[6.83151988436204 9.38653576124664 7.70757538503352 6.30827239500925] +[8.17691064215223 9.80887420577206 5.05960060552064 5.65084618251933] +[7.50483606441751 7.00451295079674 7.23750146929304 6.39954099979257] +[7.02454523180077 6.94216414687953 7.07627527451233 6.25630849850507] +[5.56900685811238 9.36704062458778 9.14858792042937 6.89224783303663] +[5.74426260337711 9.14310670664225 7.23023221462481 8.09917743798714] +[10.7706403875877 7.04536080703608 8.10694392156893 5.84701538052196] +[10.9015467452361 7.87042005985306 8.40667896963582 5.60936749584379] +[9.39919756513325 8.1339070629966 8.05821598271851 6.40402429397726] +[9.12149843000456 6.95323039088004 6.8102062817854 5.87503705990815] +[10.4810236336282 7.8996202934177 6.58516881173782 5.34843879001893] +[8.90485082272604 5.572154015865 8.51082780604322 6.83228669789485] +[10.4566599648169 5.29761567337228 9.13628281070173 6.16644471683253] +[8.34783773141294 8.59578342302266 7.33612713493684 5.7121293888625] +[9.95449837138394 7.96849765428485 8.88353970615269 5.54896496035361] +[7.74351089546627 9.4623764339025 5.75192073064106 6.21932706104578] +[8.11791795725329 7.1580351091377 7.3253812137412 6.04947894137788] +[7.43373447415746 7.71291916277353 7.17820915893192 6.51567794002902] +[8.71744071090991 9.33989631919743 8.33175985293848 6.05992522973263] +[7.24646754378774 8.2258255355351 6.50230920397801 6.32575866313057] +[9.45813707716106 7.73072587416193 7.08928275227692 6.32040698941836] +[7.53226758783412 7.13770252066765 7.36024510797746 6.82023153474062] +[9.63142345545757 8.42888973700544 6.89208778068715 5.97408490777217] +[8.39676461439699 9.4263785236348 7.77851332076664 5.55187092223829] +[8.37299975873886 7.21360595032112 5.59802047548998 6.1760348462891] +[10.8825617920375 8.25482134308132 6.60638080340626 5.9979559533021] +[9.94002406438095 7.65498255459856 9.73888776628719 5.29189998210262] +[6.82448996799314 7.04489613092917 6.7858139324146 6.17405224462297] +[5.88471514348506 7.5651320045677 5.69390610539007 6.3394491318346] +[11.1005842874152 10.4590178680683 5.60391007158508 6.2091106051087] +[10.1446773727676 9.65218097882261 6.1003272769027 5.11985236401439] +[11.7617564165497 6.17355621223333 8.70405390469787 5.70651764967444] +[10.9199009695414 6.9938974919693 6.14061040256933 5.25713418716919] +[10.0831388491373 5.58737121039568 6.37289762100655 6.54467364181634] +[7.04698916108988 7.95018922275902 8.34502911887756 6.48738791963481] +[8.73763371899404 7.77538332079941 8.34996844344165 6.02375535303553] +[5.64517238883763 11.23485608227 6.36868478842415 6.26274908733852] +[9.99859147599901 9.19811089941388 6.99720073327518 5.09434167914661] +[7.69580128853526 10.0230206650539 5.79495141922404 5.30521582116634] +[11.1935213030962 9.05519084303621 5.83362854495306 5.42136535428002] +[11.0768672600864 6.05170088461849 8.4044892490116 6.55776095210916] +[9.51961843052497 9.47602762747477 7.07605690254913 5.18659202165433] +[5.10167357650969 8.76976103633773 8.84755044219573 7.1298166357234] +[6.00761338068158 8.36027001273402 5.96578694966889 7.0729173620667] +[5.71678958028322 7.40662313875492 8.90379358338197 6.83956665356574] +[7.01629228745447 7.21608301307995 7.56449996723408 6.06685274641926] +[7.53963879538449 8.22294350759566 8.43546337302137 6.30406314304765] +[9.97365420250924 9.51713856117846 5.12908073269267 5.07237159127733] +[10.743625376358 6.37851338116735 5.84003335670016 5.19151525370713] +[10.0350793349634 9.57078079633526 5.81410753312349 5.02134926628472] +[9.1672642017061 6.09956217048481 7.81364897140429 6.39864867558692] +[7.71999082211786 8.00215857281671 11.0615971527429 9.09954233562341] +[7.01024671058678 7.92379772293645 8.47886749026622 5.90931052524888] +[8.56030253276618 8.53345270283335 5.75474415030978 6.08456087451299] +[6.45312190540975 7.5744224570795 6.28727362840421 6.14634174227689] +[9.14840768175607 6.87436625513312 7.43222060918721 6.32476581876663] +[10.393431675868 5.4905731331291 7.416172096218 6.57901000091814] +[8.68345719141935 11.87166601712 5.10981205298673 5.11606719079442] +[8.96969771213595 10.7984843315416 5.00405343179335 5.79806473079624] +[5.75928955644595 5.70508758359844 7.52776512827259 7.6244659081204] +[10.1649911756516 10.2636863861645 6.96392402104444 5.54888775080797] +[8.22360208328049 5.8698851592541 8.99416769690349 7.35268480223382] +[5.44869431830283 10.2513515219132 6.52291087197122 6.3535321085754] +[9.54232644760286 6.48178703150293 7.75004836714768 6.12850243113708] +[7.72064538000388 6.2583753053542 10.6135303557388 7.31256702012912] +[8.95415169486663 9.93540823886332 6.59818741348064 5.35456278948599] +[10.8595363453734 8.31532989335432 7.15824914327907 5.00303060943374] +[6.33039096760135 7.58141182277844 6.8883739817677 7.01936502999315] +[10.3859447261404 7.19080907912933 7.33090488754794 5.97614875431436] +[6.12308303364114 7.42392407256888 7.51076139418362 6.5569464930589] +[9.24712559281108 8.9025085568198 5.74090742913238 5.83118439438437] +[6.28815413588148 5.10003666444312 6.12306727327294 6.63545989634572] +[6.37283191143355 9.2076572084399 5.06370844811609 6.43795588231499] +[9.62659331785804 8.1427752378394 6.93189412088636 6.104526924645] +[7.86636361427578 5.59545585203452 8.39714537681537 8.61556696723312] +[8.42687147229205 10.4215246797159 6.30945686309461 5.18854428709848] +[8.96359341688457 9.95896842840361 6.57988968092408 5.35726529839582] +[7.71163846692157 10.3244670785494 6.48133292300551 6.28268472841207] +[8.50463004570844 10.8991529303367 6.00614969333323 5.91353534025765] +[9.46631708768207 6.05146375502077 8.66087945020597 6.14552969037976] +[10.0432865656413 6.35909511192678 7.74678942052469 6.36724873500894] +[10.471060603569 7.85207205570333 7.15179617870332 5.34509192344015] +[11.3143481126513 5.57769682865255 6.91768601427429 5.80414430191963] +[7.0491947526734 7.39135879757585 8.12264298193176 6.77684766118207] +[9.37204757442209 10.134874485603 5.87708439411012 5.67855510583215] +[6.98311879716859 6.5172063441482 9.10395521634047 6.6501404583714] +[7.27134119669154 10.6129452443318 6.73553396505613 5.70201484033589] +[10.0705003896987 8.89944179229149 8.69607084193587 5.38701641926336] +[6.77347573371872 5.13804636582967 8.34757786307146 7.07715732404243] +[11.1835133272248 8.42370055144966 5.4452954471862 5.4403766201762] +[9.03497257518194 6.16140757743412 9.37377674131127 6.03796024972703] +[5.29945778490446 11.4756382867761 8.07025225791062 6.6119971286958] +[8.14894026324565 9.69307678710423 6.75748429996425 5.96718348394349] +[9.76454115622587 8.56566758664591 9.03599074093763 5.95854879929111] +[9.63225147368474 8.63287703374067 7.86657311448811 5.82500540029461] +[7.09378588875224 10.0212723967828 7.47192752998975 6.12386903159847] +[6.79085123707456 7.18777123772447 6.88941358013245 6.72701630005013] +[8.63232856195344 6.35684495050163 6.72273986987479 6.16084880684267] +[7.94301887791235 8.529533946228 7.32288078437598 5.99284505038374] +[8.71860948254839 5.7295577379579 5.52983504833498 5.18969940733073] +[9.97156383415064 7.54273688056674 6.30661172335424 5.22846823327044] +[7.28430266852291 8.45554889684772 6.17517506666855 5.97005989516327] +[7.60291184590854 7.82192046446995 6.72747705478863 5.92990641069349] +[7.61574801626689 5.98638874244938 6.92400405011175 6.69374375469026] +[7.67947692460832 7.54815046155108 8.53975812549183 6.78731922503394] +[10.806010772299 5.62552757061114 5.76183152604654 5.43518386794545] +[7.46088712174765 5.94161110488945 8.25926003114681 6.69158050822683] +[11.3619254509436 7.7215996742402 5.48140524274866 5.01012837642413] +[7.70066937500498 9.58064514246356 6.74940591975154 5.95309331731731] +[10.4015056869931 5.31201886744932 9.95204192270177 6.55468943780276] +[7.03130623624557 7.85101310301966 5.85387842500872 5.67379588053993] +[9.4367795755379 7.96619968788011 6.53005476201382 6.60021948392441] +[10.1251609416032 6.92292940770053 7.65072644116283 5.40140952857381] +[7.70159550290752 7.55511664891788 7.3742014960977 6.33526131554932] +[8.74452834121133 10.0018018959653 5.88572907159796 5.92403271239359] +[6.78829948926301 6.44050112113248 8.6587802154223 6.4254813868632] +[9.53726538651571 5.24086692502213 7.60137270382156 6.76493476736025] +[8.89793379186637 7.11861168891005 7.65749532746619 6.08831617435276] +[7.11833073779262 10.6389267736164 6.80784688307015 5.50362033148747] +[9.23243249406747 9.38853369628134 10.1669393252433 5.86514896532546] +[8.3611378058141 11.8416261475959 5.60082119636345 6.17877319762808] +[5.61919095861139 6.64879709856777 7.04923765474828 6.98129457765627] +[7.8948124894803 10.7191986384169 6.06647460088061 6.06088334049796] +[11.2655034576175 9.11444405471161 5.76950625053482 5.33779468207911] +[7.36502466266954 9.56034094700307 6.94229301696052 5.9085421711939] +[9.43330221707854 8.70841218353896 7.81301766986309 5.74472778526848] +[11.8448602147673 6.92642899815158 6.64137089485249 5.53066094829535] +[10.3570568662819 8.69969115665906 5.53328230859678 6.06631078489027] +[8.63275864530359 10.0372014671992 7.75057301512972 5.83294157423236] +[7.15832501630955 5.57591634451668 8.85232442152437 6.96195399827123] +[9.40957000471989 9.09816177363749 5.93124096638416 5.75311037360718] +[8.7590665453936 5.34422486636487 8.38076908835746 5.98040579450037] +[8.07168721966667 5.30217353627267 8.58181266144605 5.8130730268811] +[10.1117643717996 9.22793008706625 5.4348098510961 5.24844689929782] +[9.69528407732161 9.06920104169263 6.40039442049517 5.6936877098364] +[6.57021973111205 7.0753721945042 8.47298740325898 6.30686456363824] +[11.4493579678196 5.62776125979785 8.67391588612283 6.14028552697049] +[9.62639408261579 8.46739063172437 6.96526008588612 6.27826790515969] +[5.36307941516948 11.002423207658 5.42983183005449 6.40497561827753] +[11.3657977175238 5.89717976544536 6.04350192940615 5.94237804212551] +[10.4532326043828 5.09658280286251 11.347851595317 6.28579725114166] +[7.90470754137422 5.80859321117219 7.87782593375194 6.35127059628199] +[8.47452899518979 9.15837065440722 5.85210590700908 5.73117486277975] +[8.11444135679396 11.7365422953803 8.38572488879718 6.02885217470394] +[11.3380950662753 9.13773101692843 8.33771483869211 5.81175028106637] +[8.91692890509902 10.7821258109463 5.26922641783456 5.34987541863154] +[11.9739773138319 6.67854465488112 8.41613368517301 5.87272606641606] +[6.70597243293313 7.94889352940994 9.12268197306736 5.70376814466491] +[7.62927990583413 9.57038026411419 6.87046073681885 6.18709854362315] +[10.9697200470075 8.86172422114389 7.91637221519863 5.15197419985837] +[9.3820290601222 6.22633737010091 6.95709868095827 6.02387660742116] +[6.78063030192281 7.6537092119367 8.89917618701851 7.03820086657401] +[11.3733644365229 8.06071522679782 5.4162218339866 5.31203687566955] +[6.17026081049198 5.63022493905277 10.236200907723 7.94470586508035] +[8.52057533879665 9.90246110083387 7.86497215653848 6.37019613809843] +[6.70153168248383 5.8532780614987 9.99058768119758 7.67275089053283] +[6.15220640273189 11.6333888305955 5.80056220252703 6.09859620187186] +[10.1978721182234 10.752860573264 5.24261503682081 5.57591680045852] +[11.7396892604824 7.96311142484549 5.70955173685046 5.26021028574761] +[11.1853008916782 10.1767862324666 8.69115191646053 5.95815259092865] +[5.66578398290583 6.85555214496241 9.25332360880057 7.39025045674159] +[10.2423541997375 9.70210441242831 6.15288229761407 5.97471511949071] +[8.64233140759673 8.58842320711764 6.34157905880037 5.98257588845597] +[10.0855656968005 9.94779849497105 7.81069442150804 5.11547850686196] +[5.54362737754509 6.7938547444252 9.25195737413064 8.01008135364449] +[8.38480024204149 9.87032363704193 6.9767692394551 5.62348876416935] +[5.51174190948376 9.70619147211602 5.93224823051674 6.85862454960213] +[10.9499400297734 5.76454102476146 8.18453640050744 6.07761676027687] +[10.586457200075 6.65952252396712 7.12803397658144 5.79517792598412] +[6.25474536733135 6.52564087936621 8.13234926946407 6.60821680659078] +[5.04306225107193 8.9355304416324 6.09420349744912 5.50819914872389] +[6.37760156490968 6.82762696195381 7.49006893322988 6.57816915441688] +[8.49797657453007 8.37956264947945 7.82033587406647 6.7697049597745] +[8.70263667079994 9.7036249548183 6.04578894765728 6.10885143556678] +[9.76150437661951 8.40811373187238 7.51961545170979 5.43071471232795] +[8.59387076613566 11.0230370903415 7.43704747205406 5.48357553986126] +[7.89323995732132 11.8153582063409 8.50378674039578 6.21986075553037] +[8.093624115054 8.11026862006825 9.16621121291894 6.41752287633976] +[6.46843928059973 8.8364808644402 5.1939282489594 5.77033589142947] +[10.3371987240411 5.36530598243345 8.32443664400884 6.08276891529793] +[8.41334967943538 7.82965644719569 7.99389397686757 6.49874140448486] +[7.29099599612119 9.51182368218673 6.41198928153664 6.41255864816604] +[5.87218589411599 5.27350064804186 7.2086169492134 5.08515412622299] +[7.88852869374241 9.94873567934598 7.60739948875877 6.14132928406854] +[9.5622142759037 10.7448875994959 5.68870263410368 5.65476860563954] +[8.52249612022223 8.13260212587063 6.23371795094549 5.97911552910245] +[5.56768673372407 9.57403707185138 8.31119773571092 6.78201783164516] +[8.48557033424475 10.9310563785221 5.70355201907221 5.27996924656256] +[8.7840710117586 6.37816958064287 7.55751287514372 6.70707337853978] +[10.7245369573775 10.9665466961294 6.18861780782174 5.64508639083013] +[8.10908951208459 9.98793973257199 5.19171538659227 6.23350602803903] +[9.39302565801731 11.0252826018607 6.52777784906629 6.35546657340367] +[5.46496301660493 8.59068807395107 8.03472932291051 6.58989335674175] +[6.57710541564346 7.2110555575158 6.45224960296667 6.66169575705321] +[11.7480775539642 8.89476495524707 10.1977158796736 5.45235440256388] +[5.79088437955046 8.53207420609587 7.2926232332666 6.52362266859697] +[8.92595704745809 8.29877069404678 7.03187745329736 6.729234992679] +[7.88993268482613 9.02157792848902 6.55903464717718 6.34822042998505] +[8.94664624530369 5.43245029192896 7.71228704828247 6.02041863550164] +[5.44434950987484 8.34423166221476 7.81965689426148 6.27749864483609] +[10.0393197210872 7.44705589327823 6.87613961731619 6.25409812905534] +[7.75713406393689 5.47080304637728 7.70118769084836 7.02193418199278] +[7.79346650939025 11.4555846560547 6.89483592587407 6.58637788715546] +[9.21074376162036 11.4341562777252 5.22404579043392 5.01306595897281] +[7.70966869567001 7.70334923665442 9.68124573109323 7.584005226611] +[8.64436014227735 9.82348204342544 6.90832028572256 5.61919601572367] +[5.26181484229134 5.08901071029115 9.95933032887204 7.37435746533748] +[10.6460985288697 8.20802772080861 5.78150476124095 5.49329474747191] +[10.306787204126 5.07797580487645 5.12394604582185 5.3561135954941] +[8.27321190100868 5.92960676736533 6.97578425231108 6.12154200648978] +[5.40071503718049 8.36339274097707 10.0473084196045 6.89434817615292] +[10.3730255964731 10.8457516391994 8.45700669020678 5.84229885562816] +[10.7973455366952 5.27447018918437 9.49881313748668 5.21260726155717] +[11.6501778623473 7.83386620055924 6.45133619506651 5.96619469710256] +[10.8675494684972 8.3856238533013 6.43983408977863 5.44621834818812] +[10.7724308598605 7.98785573248663 7.76609142714764 6.11232841937359] +[7.47605990293715 10.3822411441337 7.45600409057356 5.60226397270833] +[10.0892175060288 6.2000084899368 9.4443361266016 6.79475337723313] +[8.68506072927019 6.46690616666848 8.56664336481932 6.67478857488501] +[5.31096729180681 7.0132082176037 6.04204647315284 7.73127723102503] +[8.05263251301329 5.46242697151862 6.93647420238162 6.65626671791349] +[5.80829063191532 8.59487996494664 5.50045545863334 7.03477440908283] +[10.1658043390477 6.89630290205408 6.65467582433479 6.63265280653227] +[8.12726258077118 9.86532695605639 7.19493265852918 5.36860697823941] +[11.577566964415 8.29158545684465 6.14425376491606 5.51336309290316] +[10.4952119457533 6.32831029723088 7.86624297509996 6.17138784773154] +[9.13105009684409 10.3645632645392 6.76766682659846 5.18891820872416] +[9.86759837770666 7.41670978984162 8.13103440096962 6.91503478298748] +[9.17190691844619 11.4454169118776 5.46709389066021 5.26097610763209] +[8.07250558671691 8.31694224218123 6.77033309739814 6.15954098984829] +[5.28383248369423 7.1180027702884 8.68737537472755 6.49521071853199] +[7.88411410485253 9.32813042297706 5.70375967829635 6.02013921741707] +[7.20894064168231 11.3402817730268 6.06454982822908 6.35656449857622] +[6.58986729660498 10.5946892722298 6.05157408285979 6.07615596785341] +[7.97274260033041 8.8065136561392 7.04583675229641 5.84884730040265] +[9.69203327960939 6.01367315582699 6.9686944162605 6.01360525292713] +[11.0544660791167 5.58446421519235 9.62017367381114 5.47285677701755] +[5.41868348130828 8.85876399472159 7.21426390807941 6.86130561888295] +[11.2297493570215 10.4681702206897 6.09880945112393 6.02718915965372] +[11.684955671898 6.09953771811887 8.24468807839705 6.37327114438531] +[5.62800608147982 10.001786656931 8.27151309110525 7.34677808874352] +[11.190973489796 5.92691817472594 6.73030285642718 5.48964219711699] +[9.50874793174047 5.43832378234303 9.35255827198583 6.1975963727109] +[10.005742020678 5.68002252324198 9.95823816700368 5.87938807891524] +[7.5993282844316 9.20152806587974 6.81941623226474 5.70721136521532] +[7.91565745396674 10.5955244223211 11.3422672054794 7.53359834210864] +[5.66830298581683 6.83327855601134 7.87199772358922 6.43538537318645] +[9.61841115998016 8.14593834759247 8.72030172401168 5.81372587464836] +[11.4049990804011 8.84212665788154 5.65910697952569 5.46602929144824] +[7.80991651933987 7.78459007146361 7.38685419095661 6.74252147459519] +[5.71503171708601 6.26324402763007 10.6359717130808 6.61852464754671] +[9.79758104231709 6.55935958464976 7.53722243960221 6.01391960644149] +[10.1223953166669 8.40554102870942 8.54055610736147 5.79029093907254] +[8.4177268737974 9.91551058193846 5.66741299504432 5.57755642419201] +[6.82897933378609 8.97876446659154 5.04378268022074 6.70070656564514] +[6.72797641658906 7.68345094280809 9.10963789024549 7.13696610567019] +[10.6188528426731 5.12943220749445 8.66667001590208 5.78282739490514] +[9.85663687861041 11.4484772003822 5.11262468900122 5.29327871596235] +[8.1377365867403 5.2436929843206 11.6062673462211 7.31850159716734] +[6.73491947447839 8.28005092706485 6.42796789518643 6.2116063499801] +[7.81235679385001 9.09951293300209 8.2895566456246 7.73774456826835] +[7.06896261066477 6.98139620928499 9.78023640385314 5.56960689607423] +[8.41711465528719 11.9359513611935 5.30913516342272 5.87249467724071] +[8.20257814761161 7.78835227695024 6.42850081735545 6.24348557844108] +[10.1955805335679 7.79588113983314 5.81259731051917 5.54996506052551] +[6.65910164956051 7.82346776443463 8.88587682110304 6.45176039080367] +[10.5220666162251 9.38759545872136 6.66539975594995 5.3222368642451] +[7.24881135672423 9.91344721008734 6.94469893860503 6.30111379193725] +[6.97684795805969 6.04689449010585 8.67044856942755 6.78294439385237] +[11.5947114905968 9.39138902168068 8.18830232980578 6.35677815841751] +[7.59303757364729 10.7841190309083 7.6971486184675 6.28741194936341] +[9.69317345141081 8.75011434824073 6.34031352358042 6.41617132515467] +[9.70341390854643 7.1804651608787 6.0929514978738 5.66539374185283] +[8.61776588859757 11.1679191649854 7.03721261522192 5.82141186633002] +[8.30143966790558 10.5643853649145 8.13519647309666 5.69113618290184] +[5.88266333398475 5.11642157772 7.01345644067187 7.60186578122347] +[11.103838407277 5.51180729142211 8.69530837042675 5.46263518771505] +[8.90310490992141 9.22531291099456 7.15738818388125 6.32071311478673] +[8.14818582941784 6.63250710790183 7.72923003293732 6.03015057797614] +[8.1567829531926 5.49844423243991 6.57823635433512 6.03512377980762] +[9.40529386892555 6.48987786836608 6.2984289925698 6.72289091986664] +[7.23593947968586 6.38798413146138 8.39272866941541 6.39022846640761] +[9.85553028582495 6.82428372477381 7.00177056027746 5.6180069634126] +[7.84367640703609 8.01896248840078 7.2704776677814 5.80476192013217] +[8.4134175444958 10.1832075282015 7.32885612521935 5.9576634770807] +[7.96772867542179 9.33614445866083 7.10329840521316 6.06849789352536] +[6.87814888444907 8.22573529104617 8.15926646507929 6.07760972243207] +[7.88712957631932 6.22903541761447 11.2881302362924 6.47661173418707] +[10.4108036024799 6.41044356861777 7.95496422017911 5.88533830307252] +[6.15224060865372 7.51993300619484 7.1150852009806 6.62018333682363] +[10.3955044700728 7.75961936152347 6.25574493818999 5.81565494135097] +[9.98355570252087 5.55971269379426 8.08987720815218 6.14046829091966] +[9.21817584900612 8.46488320832286 6.57073170348437 5.74680546242163] +[11.4970896613225 9.6274327580691 6.87336784016932 5.7532980676542] +[5.81810604722764 9.53706863436743 6.99918805174818 6.57710621151901] +[8.47258633120162 7.39786540219515 7.24243849704014 5.73067694327906] +[5.25067401511524 6.84892692681399 7.44489850905445 6.17556391355824] +[10.0002041651811 7.21919136158802 6.61454239588136 6.0699335864423] +[7.11692809088692 10.0552792472919 5.94931400253123 6.49919644888648] +[5.36580219738894 8.62153950394893 7.21979019611862 6.14848841586188] +[5.47082246805373 9.78107144992288 8.47154786413526 6.08719875302284] +[6.13137264533912 7.76779477231911 7.59333050710508 7.27271958363277] +[11.2407679714777 8.43884475851322 5.97968008813669 5.36348263236886] +[7.33657728703423 10.4464131699135 7.12437660528958 6.10813890978276] +[6.20432926478185 8.95095862964395 7.65045137364007 6.64744550500956] +[7.81046828297207 7.71160883817577 6.41373838594394 6.02504427806122] +[9.71677123012273 8.57945620856528 6.53303221732054 6.38367317643357] +[9.17009478167813 8.61808904190244 6.64773857955562 6.15209134218339] +[6.47974689211781 9.26128025757597 5.55329619500798 6.99850799446843] +[8.53212839677508 8.33424540672733 5.8127410909864 5.01795351815758] +[7.23103600800178 8.90215559646368 5.82563547413963 6.63864678011174] +[8.91105433522091 5.95772917008205 7.18760040057494 6.66339944566872] +[ \ No newline at end of file diff --git a/Programming/WDWR/projekt/R/t-student.R b/Programming/WDWR/projekt/R/t-student.R new file mode 100644 index 00000000..defdf8ce --- /dev/null +++ b/Programming/WDWR/projekt/R/t-student.R @@ -0,0 +1,18 @@ +library(MASS) # mvrnorm() +mu <- c(9, 8, 7, 6); # expected values +sigma <- matrix(c(16,-2,-1,-3,-2,9,-4,-1,-1,-4,4,1,-3,-1,1,1), 4); # covariance matrix +nu <- 4; # degrees of freedom +n <- 10000; # number of scenarios +y <- t(t(mvrnorm(n, rep(0, length(mu)), sigma) * sqrt(nu / rchisq(n, nu))) + mu) + +y <- y[y[,1]>=5,] +y <- y[y[,2]>=5,] +y <- y[y[,3]>=5,] +y <- y[y[,4]>=5,] +y <- y[y[,1]<=12,] +y <- y[y[,2]<=12,] +y <- y[y[,3]<=12,] +y <- y[y[,4]<=12,] +y <- y[1:1000,] + +write.table(y, "scenarios.txt", sep=" ", eol="]\n[", row.names = FALSE, col.names=FALSE) diff --git a/Programming/WDWR/projekt/data100.txt b/Programming/WDWR/projekt/data100.txt deleted file mode 100644 index 588ad2e2..00000000 --- a/Programming/WDWR/projekt/data100.txt +++ /dev/null @@ -1,101 +0,0 @@ -1 9.76311690917431 7.44135196072098 8.03080769529443 5.91262278007238 - 2 9.07190145652961 7.65985278468609 7.81364884192831 6.23563982924631 - 3 7.30586779807710 10.46831565453596 6.17860514098604 5.62316983488756 - 4 6.06518115356950 6.82247048657865 6.70439394704260 5.97874895226848 - 5 9.96818163646533 5.92140003729828 8.95647683901296 5.92957172143291 - 6 8.63538473131973 10.78452347210609 5.33874254384498 5.71561846706637 - 7 10.78779012148249 8.38993971621506 6.95119513298764 6.15728792196850 - 8 9.47255420321130 5.24835077098752 9.00959525502073 6.84285948274497 - 9 11.70926888809931 6.88871099028457 5.11505870322385 5.79141681866100 - 10 9.64287670970948 6.99374980548690 6.93364646280594 6.63473958816273 - 11 9.74417642254796 9.27515630991583 5.79381433859841 6.33880079977867 - 12 9.84932031583696 8.13369675991747 9.56326564416240 5.47164097940741 - 13 10.84180657665224 10.44173212698402 5.75796156005717 5.17082844375342 - 14 6.42546815399896 11.41163561400132 6.98718847694160 6.19182014565093 - 15 6.65343747480972 5.96491367509542 8.43404931472053 6.81514933519179 - 16 8.41058204665803 9.81581254769240 6.22528708513955 5.45922484668070 - 17 11.07466468261044 8.63685491994975 8.32064327582552 6.00532812753081 - 18 5.66007803163167 10.59708873150259 6.40117913595970 6.61684806440770 - 19 8.11097377453294 11.39989719535908 7.19879715792936 5.81867289870583 - 20 10.18544068664910 8.00246586468051 7.78414367307899 6.39143329793770 - 21 8.37417778106186 8.66901423662847 6.63403929668899 5.62622698569807 - 22 5.71457990443940 8.10569739243788 6.93419305872531 6.80590758355993 - 23 10.90693358349595 7.14177718551252 5.91236679453024 5.76232274027454 - 24 8.56484398609648 6.22762158139036 8.11135450623580 5.62211012798539 - 25 10.96985518991559 6.68271088560539 6.35539102212538 5.78652050813314 - 26 7.62410553749944 5.47750296350388 8.10356514381925 6.80674322754784 - 27 9.17309223739274 7.35075102155314 9.39642670821667 6.08239889804591 - 28 11.69619190069919 5.81353083316989 6.71866562538033 5.83460977495301 - 29 8.70647218713260 8.54952873879837 6.01177366865153 5.80247711748981 - 30 10.19801770668396 8.40706649849486 7.78289804784438 5.59571260544491 - 31 10.18823792131140 10.30622317535783 6.01007216642801 5.10730031536544 - 32 8.89257975110205 9.05255653431256 7.04806430135429 5.72317637496039 - 33 5.55169965201331 6.46995754365869 6.73752334538523 8.11225243525766 - 34 7.38041303280808 6.03431805441005 6.54177632374026 6.26813757511362 - 35 9.53600312164939 9.82870887668159 6.37298666598656 6.29512946813344 - 36 9.62084627760301 8.38877821804972 9.60663262550341 6.14199642708027 - 37 8.53371147142969 9.96028980160928 5.48461964749732 5.58700748945751 - 38 11.43883601853922 7.43794182684747 8.19299665196631 6.53522296979568 - 39 8.94531533108458 7.72770669562578 5.86612093622741 6.14249195015319 - 40 8.56163972282782 8.78267109358917 8.09620140224837 5.84072057986787 - 41 11.10581874422519 6.41650146716222 7.94880945361463 5.92181030289048 - 42 8.79709510873987 6.96326671422654 6.81226688976441 6.08034755239137 - 43 8.36353994459570 8.65114541354765 5.20396052285658 5.64107960525657 - 44 10.72631955621739 10.40656722635996 6.40361955726036 5.00588106915542 - 45 7.92377449146379 7.57337326655799 7.28981137176010 5.86937295871601 - 46 6.44898752031030 9.84455679079283 7.56743321024807 5.61123930238106 - 47 6.59142079861976 8.25490687097256 7.18086136653190 6.36808055523271 - 48 7.47434811723050 7.57534400043646 7.40042557613225 5.77766925416132 - 49 10.37922558429701 7.51649541751660 7.76007217627671 5.71165340725927 - 50 11.22955957441164 9.11763834237000 5.91162025004763 5.22909656515264 - 51 9.93626606347435 10.36742543458079 5.50414492338928 5.09387877291345 - 52 7.46956075160300 8.85209992891748 5.66758603774144 6.84847007082318 - 53 10.94818425908296 11.21395252595940 5.02869416739786 5.11896599852232 - 54 8.59930902434361 10.23728557433725 6.43052152866663 5.55350545843695 - 55 7.18223178367374 8.39628843993716 6.78631274384210 6.40826198282814 - 56 10.50650695671218 7.14292577351122 6.97271222602888 5.67492382261040 - 57 9.43266157452829 8.59707825452923 7.44232496740155 6.33561282221721 - 58 11.45217548324165 6.23806997675535 7.62498135882166 5.84032703043151 - 59 11.36423152742698 7.73909888403765 5.83487677225264 5.30267540082782 - 60 7.40126925234506 7.78983701703254 7.26783254076869 6.35068014074993 - 61 9.72974571794505 8.14279615037054 6.43258828020491 5.60905301174744 - 62 9.71958329969389 8.25791366588767 6.81451687462449 5.84590714949131 - 63 11.78371126050813 7.89117263445312 8.21483466145989 5.60333890798316 - 64 6.43302225580614 8.07865860135554 5.44469004007024 6.25543936966105 - 65 11.32524672426065 6.23439997420789 9.09984135190236 5.92522151214137 - 66 6.11523920037522 9.46855519033448 8.99139954457499 7.26985178631296 - 67 10.75986956011578 8.89269588219645 6.16473844457922 5.01830225504361 - 68 7.44261078629228 5.59781415962693 8.47555931122058 6.71081007297257 - 69 6.13170779809489 7.22655838486716 7.72995785629984 6.90573736168416 - 70 9.43027479825457 11.48319339258313 7.38708836041081 5.82689865183140 - 71 5.29171692626969 8.09437078836054 6.39563010794279 6.62912879511093 - 72 5.09893294234523 7.74584955672930 8.88018284918212 7.01212790493029 - 73 6.20578320069247 6.80617867447727 8.18103843191598 6.83958319443877 - 74 6.30258685494809 7.43138054831968 6.54063201012806 6.49666135387873 - 75 5.99078754250444 9.43740619647565 6.33367827869915 6.32580787466866 - 76 6.09773092392164 8.81422152842116 6.40425733606985 6.00528108344304 - 77 9.77514087744415 8.44932475630892 7.94420117667674 5.69585236521884 - 78 9.52359733569984 5.16479502907556 8.95174376770244 6.78672071859107 - 79 10.87512003895627 7.94035821507262 7.57773074672391 5.84630709056388 - 80 7.03228696898568 6.60340093608582 6.44468568443036 6.19149860676074 - 81 9.65992578732530 8.56527229906357 6.09872442954240 5.20440692261623 - 82 6.30983535489480 9.30561393417605 6.54859829930319 6.52106231396463 - 83 5.82137666724151 5.35827290855938 8.49191286969823 6.71371780289945 - 84 11.37494716877100 5.81213960381298 8.05853844161706 5.69806024484299 - 85 8.15267985634545 10.97224605386566 5.12446664947324 5.15795103491506 - 86 11.73086416587584 5.65124348656024 6.77078823854425 5.90352878508404 - 87 6.72960532844368 8.10521896869132 11.60799014602290 5.36046426627923 - 88 5.25102730028672 6.84949245261905 8.49279919952933 6.29483292662839 - 89 7.90449528978985 7.68346606583354 8.26036057308542 5.78474731288598 - 90 8.64103203208981 6.57844735571956 8.12280488732531 7.36240059132464 - 91 8.46655660484256 8.36699115351209 6.70419093097301 6.03113661709298 - 92 8.50248558815979 6.35585412244623 5.95963894605528 5.55306703237114 - 93 8.11096815930533 6.26958795090084 6.89847746026576 6.79423199764579 - 94 11.05399477820485 6.64260318869504 8.29929372751188 6.03566117360477 - 95 9.56800557695653 8.79263357467837 8.58788350167046 6.06774627920175 - 96 11.90421443450454 6.78214769706352 9.14111391052618 5.69759901474202 - 97 7.57911702883690 7.65716973584061 7.10622237301328 5.97627526735100 - 98 5.12673628692985 11.33334016193997 7.83474212553888 5.91330252723919 - 99 8.25983441252135 10.48661063799430 6.24054516528815 5.59523265380788 - 100 6.37952025900229 7.91998372816597 10.27190171308190 6.82383475873556 - \ No newline at end of file diff --git a/Programming/WDWR/projekt/doc/main.pdf b/Programming/WDWR/projekt/doc/main.pdf index 5c0548ddbb435e344886f12bf544113bb4525ae0..4bc38ce5d16543be03ba1ec84cdf98a38a03ce1b 100644 GIT binary patch literal 68411 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 literal 113574 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 E2kb$Ex&QzG diff --git a/Programming/WDWR/projekt/doc/main.tex b/Programming/WDWR/projekt/doc/main.tex index ec22f303..c252a574 100644 --- a/Programming/WDWR/projekt/doc/main.tex +++ b/Programming/WDWR/projekt/doc/main.tex @@ -1,709 +1,489 @@ -\documentclass{article} +\documentclass[11pt,a4paper]{article} +\usepackage[OT4]{polski} \usepackage[utf8]{inputenc} -\usepackage[polish]{babel} -\usepackage{amsmath,amssymb} -\usepackage{graphicx} -\usepackage{booktabs} -\usepackage{hyperref} -\usepackage{longtable} +\usepackage[inner=2.5cm,outer=2.5cm, tmargin=2.5cm,bmargin=2.5cm]{geometry} +\usepackage{amsmath} +\usepackage{relsize,amsfonts} \usepackage{enumitem} -\usepackage{float} -\usepackage{minted} +\usepackage{graphicx} -\title{WDWR, sprawozdanie} -\author{Krzysztof Rudnicki, 307585} +\newcommand\bigexists{% + \mathop{\lower0.75ex\hbox{\ensuremath{% + \mathlarger{\mathlarger{\mathlarger{\mathlarger{\exists}}}}}}}% + \limits} + +\newcommand\bigforall{% + \mathop{\lower0.75ex\hbox{\ensuremath{% + \mathlarger{\mathlarger{\mathlarger{\mathlarger{\forall}}}}}}}% + \limits} + +\title{Wspomaganie Decyzji w Warunkach Ryzyka\\\large \medskip Projekt: WDWR 25406\\} +\author{Krzysztof Rudnicki 307585} \date{\today} \begin{document} \maketitle -\tableofcontents -\section*{WDWR 25406} - -Rozważamy następujące zagadnienie planowania produkcji: +\section*{Treść zadania} +\addcontentsline{toc}{section}{Treść zadania} +Rozważmy następujące zagadnienie planowania produkcji: \begin{itemize} -\item Przedsiębiorstwo wytwarza 4 produkty P1, -\ldots, P4 na następujących maszynach: -4 szlifierkach, 2 wiertarkach pionowych, -3 wiertarkach poziomych, 1 frezarce i 1 tokarce. -Wymagane czasy produkcji 1 sztuki produktu (w godzinach) -w danym procesie obróbki zostały przedstawione w poniższej -tabeli: + \item Przedsiębiorstwo wytwarza 4 produkty P1,...,P4 na następujących maszynach: 4 szlifierkach, + 2 wiertarkach pionowych, 3 wiertarkach poziomych, 1 frezarce i 1 tokarce. Wymagane czasy produkcji + 1 sztuki produktu (w godzinach) w danym procesie obróbki zostały przedstawione w poniższej tabeli:\\ + \begin{center} + \begin{tabular}{l*{4}{c}} + \hline + & P1 & P2 & P3 & P4 \\ + \hline + Szlifowanie & 0,4 & 0,6 & - & - \\ + Wiercenie pionowe & 0,2 & 0,1 & - & 0,6 \\ + Wiercenie poziome & 0,1 & - & 0,7 & - \\ + Frezowanie & 0,06 & 0,04 & - & 0,05 \\ + Toczenie & - & 0,05 & 0,02 & - \\ + \hline + \end{tabular} + \end{center} + + \item Dochody ze sprzedaży produktów (w zł/sztukę) określają składowe wektora + $\mathbf{R} = (R_{1},...,R_{4})^{T}$. Wektor $\mathbf{R}$ opisuje 4-wymiarowy rozkład + \textit{t}-Studenta z 4 stopniami swobody, którego wartości składowych zostały zawężone do + przedziału $[5;12]$. Wektor wartości oczekiwanych $\mu$ oraz macierz kowariancji + $\Sigma$ niezawężonego rozkładu \textit{t}-Studenta są następujące: + \begin{displaymath} +\mathbf{\mu} = + \begin{pmatrix} + 9 \\ 8 \\ 7 \\ 6 \\ + \end{pmatrix}, + \mathbf{\Sigma} = + \begin{pmatrix} + 16 & -2 & -1 & -3 \\ + -2 & 9 & -4 & -1 \\ + -1 & -4 & 4 & 1 \\ + -3 & -1 & 1 & 1 \\ + \end{pmatrix} + \end{displaymath} + + \item Istnieją ograniczenia rynkowe na liczbę sprzedawanych produktów w danym miesiącu: + \begin{center} + \begin{tabular}{l*{4}{c}} + \hline + & P1 & P2 & P3 & P4 \\ + \hline + Styczeń & 200 & 0 & 100 & 200 \\ + Luty & 300 & 100 & 200 & 200 \\ + Marzec & 0 & 300 & 100 & 200 \\ + \hline + \end{tabular} + \end{center} + + \item Jeżeli sprzedaż danego produktu przekracza 80 procent ilości jaką może wchłonąć rynek, + jego dochód spada o 20 procent. + + \item Istnieje możliwość składowania do 200 sztuk każdego produktu w danym czasie w cenie 1 zł/sztukę + za miesiąc. W chwili obecnej (grudzień) w magazynach znajduje się po 50 sztuk każdego produkt. + Istnieje wymaganie, aby tyle pozostało również pod koniec marca. + + \item Przedsiębiorstwo pracuje 6 dni w tygodniu w systemie dwóch zmian. Każda zmiana trwa 8 godzin. + Można założyć, że każdy miesiąc składa się z 24 dni roboczych. \end{itemize} -\begin{table}[H] -\centering -\begin{tabular}{|l|c|c|c|c|} -\hline - & P1 & P2 & P3 & P4 \\ -\hline -Szlifowanie & 0,4 & 0,6 & — & — \\ -\hline -Wiercenie pionowe & 0,2 & 0,1 & — & 0,6 \\ -\hline -Wiercenie poziome & 0,1 & — & 0,7 & — \\ -\hline -Frezowanie & 0,06 & 0,04 & — & 0,05 \\ -\hline -Toczenie & — & 0,05 & 0,02 & — \\ -\hline -\end{tabular} -\end{table} - -\begin{itemize} -\item Dochody ze sprzedaży produktów (w zł/sztukę) -modelują składowe wektora losowego -\textbf{R} = ($R_1, \ldots, R_4$)$^T$. -Wektor losowy \textbf{R} opisuje 4-wymiarowy rozkład -$t$-Studenta z 5 stopniami swobody, -którego wartości składowych zostały zawężone do przedziału -[5; 12]. Parametry $\mu$ oraz $\mathbf{\Sigma}$ -niezawężonego rozkładu $t$-Studenta są następujące: - -$$ -\mu = \begin{pmatrix} 9 \\ 8 \\ 7 \\ 6 \end{pmatrix}, \qquad \Sigma = \begin{pmatrix} 16 & -2 & -1 & -3 \\ -2 & 9 & -4 & -1 \\ -1 & -4 & 4 & 1 \\ -3 & -1 & 1 & 1 \end{pmatrix}. -$$ -\end{itemize} - -\begin{itemize} -\item Istnieją ograniczenia rynkowe na liczbę sprzedawanych produktów w danym miesiącu: -\end{itemize} - -\begin{table}[H] -\centering -\begin{tabular}{|l|c|c|c|c|} -\hline - & P1 & P2 & P3 & P4 \\ -\hline -Styczeń & 200 & 0 & 100 & 200 \\ -\hline -Luty & 300 & 100 & 200 & 200 \\ -\hline -Marzec & 0 & 300 & 100 & 200 \\ -\hline -\end{tabular} -\end{table} - -\begin{itemize} -\item Jeżeli sprzedaż danego produktu przekracza 80 procent ilości jaką może wchłonąć rynek, jego -dochód spada o 20 procent. -\item Istnieje możliwość składowania do 200 sztuk każdego produktu w danym czasie w cenie 1 zł/sztukę za miesiąc. Aktualnie firma nie posiada żadnych zapasów, ale jest pożądane mieć po 50 sztuk każdego produktu pod koniec marca. -\item Przedsiębiorstwo pracuje 6 dni w tygodniu w systemie dwóch zmian. Każda zmiana trwa 8 godzin. Można założyć, że każdy miesiąc składa się z 24 dni roboczych. -\item 1. Zaproponować jednokryterialny model wyboru w warunkach ryzyka z wartością oczekiwaną jako miarą zysku. Wyznaczyć rozwiązanie optymalne. -\item 2. Jako rozszerzenie powyższego zaproponować dwukryterialny model zysku i ryzyka z wartością średnią jako miarą zysku i średnią różnicą Giniego jako miarą ryzyka. Dla decyzji $\mathbf{x} \in Q$ średnia różnica Giniego jest definiowana jako $\Gamma(\mathbf{x}) = \frac{1}{2} \sum_{t'=1}^{T} \sum_{t''=1}^{T} |r^{t'}(\mathbf{x}) - r^{t''}(\mathbf{x})|p^{t'}p^{t''}$, gdzie $r^t(\mathbf{x})$ oznacza realizację dla scenariusza $t$, $p^t$ prawdopodobieństwo scenariusza $t$. - \begin{itemize} - \item a. Wyznaczyć obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko–zysk. - \item b. Wskazać rozwiązania efektywne minimalnego ryzyka i maksymalnego zysku. Jakie odpowiadają im wartości w przestrzeni ryzyko–zysk? - \item c. Wybrać trzy dowolne rozwiązania efektywne. Sprawdzić czy zachodzi pomiędzy nimi relacja dominacji stochastycznej pierwszego rzędu. Wyniki skomentować, odnieść do ogólnego przypadku. - \end{itemize} -\end{itemize} - -\section{Jednokryterialny model wyboru w warunkach ryzyka z wartością oczekiwaną jako miarą zysku} - -W celu rozwiązania postawionego zadania dokonano sformułowania modelu programowania liniowego całkowitoliczbowego. Poniżej przedstawiono zapis matematyczny modelu. - -\subsection{Zbiory indeksowe} - -\begin{table}[H] -\centering -\begin{tabular}{|l|l|} -\hline -Zbiór & Opis \\ -\hline -P = P1, \ldots, P4 & Zbiór wytwarzanych produktów \\ -\hline -T = T1, \ldots, T5 & Zbiór typów narzędzi wykorzystywanych przy produkcji \\ -\hline -M = M1, M2, M3 & Zbiór kolejnych miesięcy produkcji \\ -\hline -\end{tabular} -\end{table} - -\subsection{Parametry} - -\begin{table}[H] -\centering -\begin{tabular}{|l|p{10cm}|} -\hline -Parametr & Opis \\ -\hline -$tc_t$ & Liczba narzędzi typu t [szt] \\ -\hline -$eppu_p$ & Oczekiwany zysk ze sprzedaży jednej sztuki produktu $p$ [zł] \\ -\hline -$ttpu_{tp}$ & Czas wykorzystania maszyny typu $t$ przy produkcji jednej sztuki produktu $p$ [godz] \\ -\hline -$smlm_p$ & Limit sprzedaży produktu $p$ w miesiącu $m$ [szt] \\ -\hline -$stl_p$ & Limit pojemności magazynu na produkt $p$ [szt] \\ -\hline -$stcp_u$ & Koszt magazynowania jednej sztuki dowolnego produktu [zł] \\ -\hline -$st0_p$ & Początkowy stan magazynowy produktu $p$ [szt] \\ -\hline -$dst_p$ & Porządany końcowy stan magazynowy produktu $p$ [szt] \\ -\hline -$dp_m$ & Liczba dni roboczych w każdym miesiącu [d] \\ -\hline -$sp_d$ & Liczba zmian w każdym dniu roboczym [j] \\ -\hline -$whp_s$ & Liczba godzin roboczych w ciągu każdej zmiany [godz] \\ -\hline -$whp_m = dp_m \cdot sp_d \cdot hp_s$ & Liczba godzin roboczych w ciągu każdego miesiąca [godz] \\ -\hline -$att_t = tc_t \cdot whp_m$ & Dostępna liczba godzin roboczych maszyn typu $t$ w ciągu każdego miesiąca [godz] \\ -\hline -\end{tabular} -\end{table} - -\subsection{Zmienne} - -\renewcommand{\arraystretch}{1.5} % Increase row height -\begin{table}[H] -\centering -\begin{tabular}{|l|p{10cm}|} -\hline -Zmienna & Opis \\ -\hline -$p_{mp}$ & Liczba sztuk produktu $p$ wyprodukowanych w miesiącu $m$ [szt] \\ -\hline -$s_{mp}$ & Liczba sztuk produktu $p$ sprzedanych w miesiącu $m$ [szt] \\ -\hline -$ts_p = \sum_{m \in M} s_{mp}$ & Całkowita liczba sprzedanych sztuk produktu $p$ \\ -\hline -$std_{mp} = p_{mp} - s_{mp}$ & Liczba sztuk produktu $p$ zmagazynowanych w miesiącu $m$ [szt] \\ -\hline -$stg_{mp} = st0_p + \sum\limits_{m2=1}^{m} std_{m2p}$ & Stan magazynowy produktu $p$ na koniec miesiąca $m$ [szt] \\ -\hline -$uttm_t = \sum\limits_{p \in P} p_{mp} \cdot ttpu_{tp}$ & Wykorzystanie czasu pracy maszyny typu $t$ w miesiącu $m$ [godz] \\ -\hline -$tstc = stcp_u \cdot \sum\limits_{m \in M} \sum\limits_{p \in P} stg_{mp}$ & Całkowity koszt wykorzystania magazynów [zł] \\ -\hline -$b_{mp}$ & Zmienna binarna określająca czy sprzedaż produktu $p$ w miesiącu $m$ przekracza 80\% limitu rynkowego \\ -\hline -$eppu_{mp} = eppu_p \cdot (1 - 0.2 \cdot b_{mp})$ & Skorygowany zysk jednostkowy dla produktu $p$ w miesiącu $m$ uwzględniający spadek o 20\% jeśli sprzedaż przekracza 80\% limitu rynkowego [zł] \\ -\hline -$ep = \sum\limits_{m \in M} \sum\limits_{p \in P} (s_{mp} \cdot eppu_{mp}) - tstc$ & Wartość zysku całkowitego dla wartości oczekiwanych zysku ze sprzedaży produktów [zł] \\ -\hline -\end{tabular} -\end{table} -\renewcommand{\arraystretch}{1} % Reset to default value - -\subsection{Ograniczenia} - -Ograniczenie rynkowe sprzedawanych produktów: - -$s_{mp} \leq smlm_p, \quad \forall m \in M, \forall p \in P$ - -Ograniczenie sprzedaży produktów w pierszym miesiącu: - -$$s_{1p} \leqslant p_{1p}, \quad \forall p \in P$$ - -Ograniczenie sprzedaży produktów w kolejnych miesiącach: - -$$s_{mp} \leqslant p_{mp} + stg_{mp}, \quad \forall m \in M \backslash \{1\}$$ - -Ograniczenie pojemności magazynów: - -$$stg_{mp} \leqslant stl_p, \quad \forall p \in P$$ - -Ograniczenie na pożądany stan magazynowy na koniec miesiąca 3: - -$$stg_{3p} \geqslant dst_p, \quad \forall p \in P$$ - -Ograniczenie wykorzystania czasu pracy narzędzi w danym miesiącu: - -$uttm_t \leq att_t, \quad \forall t \in T, \forall m \in M$ - -Ograniczenie identyfikujące przekroczenie 80\% limitu rynkowego: - -$$s_{mp} \leq 0.8 \cdot smlm_p + M \cdot b_{mp}, \quad \forall m \in M, \forall p \in P$$ - -$$s_{mp} \geq 0.8 \cdot smlm_p - M \cdot (1 - b_{mp}) + \varepsilon, \quad \forall m \in M, \forall p \in P$$ - -gdzie $M$ jest dostatecznie dużą liczbą, a $\varepsilon$ jest małą liczbą dodatnią. - -\subsection{Funkcja celu} - -Jako funkcję celu przyjęto maksymalizację wartości oczekiwanej zysku: $maximize \; ep$ - -\section{Dwukryterialny model zysku i ryzyka z wartoscią oczekiwaną jako miarą zysku i odchyleniem maksymalnym jako miarą ryzyka} - -Model ten został zrealizowany jako rozszerzenie modelu jednokryterialnego o dodatkowe zbiory, parametry, zmienne, ograniczenia i nową funkcję celu. - -\subsection{Zbiory indeksowe} - -\begin{table}[H] -\centering -\begin{tabular}{|l|l|} -\hline -Zbiór & Opis \\ -\hline -S = S1, \ldots, S1000 & Zbiór scenariuszy wygenerowanych z rozkładu t-Studenta \\ -\hline -\end{tabular} -\end{table} - -\subsection{Parametry} - -\begin{table}[H] -\centering -\begin{tabular}{|l|l|} -\hline -Parametr & Opis \\ -\hline -$sppu_{ps}$ & Zysk ze sprzedaży jednej sztuki produktu $p$ w scenariuszu $s$ [zł] \\ -\hline -\end{tabular} -\end{table} - -\subsection{Zmienne} -inputminted -\begin{table}[H] -\centering -\begin{tabular}{|l|p{10cm}|} -\hline -Zmienna & Opis \\ -\hline -$sp_s = \sum_{p \in P} (ts_p \cdot sppu_{ps}) - tstc$ & Wartość zysku całkowitego dla scenariusza $s$ zysku ze sprzedaży produktów [zł] \\ -\hline -$dev_s = ep - sp_s$ & Odchylenie zysku w danym scenariuszu [zł]. Jako, że funkcja wartości bezwzględnej jest nieliniowa zmienna została poddana linearyzacji z użyciem zmiennych $ldev_s$, $P_s$, $Q_s$ \\ -\hline -$ldev_s = ep - sp_s$ & Zmienna pomocnicza wykorzystana w linearyzacji odchylenia zysku w scenariuszu $s$ \\ -\hline -$P_s$ & Zmienna pomocnicza wykorzystana w linearyzacji zmiennejk $dev_s$ \\ -\hline -$Q_s$ & Zmienna pomocnicza wykorzystana w linearyzacji zmiennej $dev_s$ \\ -\hline -$mdev = \max_{s \in S} dev_s$ & Maksymalne odchylenie zysu [zł]. Jako, że funkcja max jest nie liniowa, zmienna została poddana linearyzacji z użyciem zmiennych $M$, $Z_s$ \\ -\hline -$M$ & Zmienna pomocnicza wykorzystana w linearyzacji zmiennej $mdev$ \\ -\hline -$Z_s$ & Zmienna pomocnicza binarna wykorzystana w linearyzacji zmiennej $mdev$ \\ -\hline -$r = mdev$ & Miara ryzyka, równa maksymalnemu odchyleniu zysku \\ -\hline -\end{tabular} -\end{table} - -\subsection{Ograniczenia} - -Ograniczenie związane z linearyzacją zmiennej $dev_s$: - -$$lde v_{s1} - lde v_{s2} + P_{s1} - Q_{s2} = 0, \quad \forall s_1, s_2 \in S$$ - -Ograniczenie związane z linearyzację zmiennej $mdev$: - -$$mdev \geqslant dev_s, \quad \forall s \in S$$ - -$$mdev \leqslant dev_s + M(1 - Z_s), \quad \forall s \in S$$ - -$$\sum_{s \in S} Z_s = 1$$ - -\subsection{Metoda punktu odniesienia} - -Jako model preferencji dla modelu dwukryterialnego została wybrana metoda punktu odniesienia. Wprowadza ona zestaw dodatkowych parametrów i zmiennych: - -\begin{table}[H] -\centering -\begin{tabular}{|l|p{10cm}|} -\hline -Parametr & Opis \\ -\hline -$asp_{ep}$ & Poziom aspiracji oczekiwanego zysku \\ -\hline -$asp_r$ & Poziom aspiracji ryzyka \\ -\hline -$\lambda_{ep}$, $\lambda_r$ & Współczynniki normalizujące, odpowiednio dla zysku i ryzyka. Ze względu na ogólne sformułowanie metody punktu odniesienia jako problemu maksymalizacji, $\lambda_{ep}$ przyjmie wartość dodatnią, a $\lambda_r$ ujemną. \\ -\hline -$\beta$ & Współczynnik pomniejszający wartość ocen wykraczających powyżej poziomu aspiracji \\ -\hline -$\varepsilon$ & Współczynnik składnika regularyzacyjnego \\ -\hline -\end{tabular} - -\begin{tabular}{|l|l|} -\hline -Zmienne & Opis \\ -\hline -$oc_{ep}$, $oc_r$ & Wartości indywidualnych funkcji osiągnięć dla zysku i ryzyka \\ -\hline -$v$ & Zmienna pomocnicza metody punktu odniesienia \\ -\hline -\end{tabular} -\end{table} - -Ograniczenia zmiennej $v$ przez wartości indywidualnych funkcji osiągnięć: - -$v \leq oc_{ep}$ oraz $v \leq oc_r$ - -Ograniczenia indywidualnych funkcji osiągnięć: - -$$oc_r \leqslant \lambda_r (r - asp_r)$$ - -$$oc_r \leqslant \beta \lambda_r (r - asp_r)$$ - -$$oc_{ep} \leqslant \lambda_p (ep - asp_{ep})$$ - -$$oc_{ep} \leqslant \beta \lambda_p (ep - asp_{ep})$$ - -Funkcja celu metody punktu odniesienia w postaci dla programowania liniowego: - -$$\max \quad v + \varepsilon (oc_{ep} + oc_r)$$ - -\section{Wyznaczenie parametrów zadania z rozkładu t-Studenta} - -W celu wyznaczenia wartości oczekiwanej wektora $R$ (odpowiadającą parametrowi modelu $eppu_p$) wykorzystano następującą zależność: - -$$E(R) = \mu + \sigma \cdot \frac{\Gamma(\frac{\nu - 1}{2})((\nu + a^2)^{-\frac{\nu - 1}{2}} - (\nu + b^2)^{\frac{\nu - 1}{2}})\nu^{\frac{\nu}{2}}}{2(F_{\nu}(b) - F_{\nu}(a))\Gamma(\frac{\nu}{2})\Gamma(\frac{1}{2})}$$ - -gdzie: - -\begin{itemize} -\item $\mu$ wartość oczekiwana dla $R$, -\item $\Gamma$ funkcja gamma Eulera, -\item $\nu$ liczba stopni swobody, -\item $F$ dystrybuanta standardowego rozkładu t-Studenta $t(0, 1; \nu)$ z $\nu$ stopniami swobody, -\item $a = \frac{\alpha-\mu}{\sigma}$, gdzie $\alpha$ to lewy kraniec przedziału, -\item $b = \frac{\beta-\mu}{\sigma}$, gdzie $\beta$ to prawy kraniec przedziału. -\end{itemize} - -Otrzymano wartości: - -$E(R)^T = [8.5094, 8.4710, 8.1319, 6.3944]$ - -Do obliczenia wartości oczekiwanej oraz wyznaczenia scenariuszy wykorzystano skrypt napisany w języku $R$. Wygenerowano 100 scenariuszy testowtych. Użyty skrypt przedstawia Listing 1. - -Listing 1: Skrypt w języku $R$ do obliczania wartości oczekiwanej wektora $R$ i generowania scenariuszy z rozkładu t-Studenta. - -\inputminted[autogobble]{R}{../WDWR.r} - -\section{Model dla programu AMPL} - -\subsection{Plik z modelem (.mod)} - -\inputminted[autogobble]{R}{../WDWR1.mod} - -\subsection{Plik z danymi (.dat)} - -\begin{verbatim} -1 # ########################################################## -2 # WDWR 25406 # -3 # Planowanie produkcj w warunkach ryzyka. # -4 # DANE # -5 # Autor : Krzysztof Rudnicki # -6 # ########################################################## -7 -8 # Narzedzia -9 set TOOLS := GRINDER VDRILL HDRILL MILLER LATHE ; -10 -11 # Miesiace -12 set MONTHS := JAN FEB MAR ; -13 -14 # Liczba narzedzi -15 param toolCount := -16 GRINDER 4 -17 VDRILL 2 -18 HDRILL 3 -19 MILLER 1 -20 LATHE 1 -21 ; -22 -23 # Czasy produkcji h -24 param toolTimePerUnit : -25 P1 P2 P3←- - P4 := -26 GRINDER 0 .4 0 .6 0 ←- - 0 -27 VDRILL 0 .2 0 .1 0 ←- - 0 .6 -28 HDRILL 0 .1 0 0 .7 ←- - 0 -29 MILLER 0 .06 0 .04 0 0 .05 -30 LATHE 0 0 .05 0 .02 0 -31 ; -32 -33 # Ograniczenia rynkowe liczby sprzedawanych produktow pcs -34 param salesMarketLimit : -35 P1 P2 P3 ←- - P4 := -36 JAN 200 0 100 ←- - 200 -37 FEB 300 100 200 ←- - 200 -38 MAR 0 300 100 ←- - 200 -39 ; -40 -41 # Ograniczeine liczby magazynowanych produktow pcs -42 param storageLimit := -43 P1 200 -44 P2 200 -45 P3 200 -46 P4 200 -\end{verbatim} - -\begin{verbatim} -47 ; -48 -49 # Koszt magazynowania produktow pln/pcs per month -50 param storageUnitCost := 1; -51 -52 # Aktualny stan magazynowy pcs -53 param startingStorage := -54 P1 0 -55 P2 0 -56 P3 0 -57 P4 0 -58 ; -59 -60 # Pozadany stan magazynowy na koniec marca pcs -61 param desiredEndStorage := -62 P1 50 -63 P2 50 -64 P3 50 -65 P4 50 -66 ; -67 -68 # Liczba dni roboczych w miesiacu d -69 param daysPerMonth := 24; -70 -71 # Liczba zmian w ciagu jednego dnia roboczego -72 param shiftsPerDay := 2; -73 -74 # Dlugosc zmiany h -75 param hoursPerShift := 8; -76 -77 # Zyski wartosc oczekiwana -78 param expectedProfitPerUnit := -79 P1 8 .50944172786882 -80 P2 8 .47100593224391 -81 P3 8 .1319049712769 -82 P4 6 .39446520538826 -83 ; -84 -85 # Metoda punktu odniesienia -86 param epsilon = 0 .000025 ; -87 -88 param beta = 0 .001 ; -89 -90 param utopia := -91 PROFIT 11987 -92 RISK 1000 -93 ; -94 -95 param nadir := -96 PROFIT -2400 -97 RISK 2815 -98 ; -99 -100 param aspiration := -101 PROFIT 10000 -102 RISK 0 -\end{verbatim} - - -\subsection{Skrypty uruchomieniowe (.run)} - -\inputminted[autogobble]{R}{../WDWR1.run} - -\section{Rozwiązanie zadania optymalizacji} - -\subsection{Wyniki dla modelu jednokryterialnego} - -$s_{mp}$ oraz wartość wyznaczonego rozwiązania optymalnego: - -$ep = 13943.26177[z]$ - -Listing 7: Wynik działania skryptu wyznaczającego rozwiązanie optymalne modelu jednokryterialnego. - -\begin{verbatim} -################################################# -### Maximize profit for expected profit value ### -################################################# -CPLEX 22.1.2: optimal solution; objective 13943.26177 -7 simplex iterations -produced := -JAN P1 200 -JAN P2 0 -JAN P3 100 -JAN P4 200 -FEB P1 300 -FEB P2 100 -FEB P3 200 -FEB P4 200 -MAR P1 50 -MAR P2 350 -MAR P3 150 -MAR P4 250 -; - -sold := -JAN P1 200 -JAN P2 0 -JAN P3 100 -JAN P4 200 -FEB P1 300 -FEB P2 100 -FEB P3 200 -FEB P4 200 -MAR P1 0 -MAR P2 300 -MAR P3 100 -MAR P4 200 -; - -stored := -JAN P1 0 -JAN P2 0 -JAN P3 0 -JAN P4 0 -FEB P1 0 -FEB P2 0 -FEB P3 0 -FEB P4 0 -MAR P1 50 -MAR P2 50 -MAR P3 50 -MAR P4 50 -; - -Profit: 13943.261775 -\end{verbatim} - -52 Profit: 13943.261775 - -\begin{figure}[H] -\centering -%\includegraphics[width=\linewidth]{_page_0_Figure_0.jpeg} -\caption{Obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk} -\label{fig:solutions} -\end{figure} - -\subsection{Wyniki dla modelu dwukryterialnego} - -\subsubsection{Obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk} - -Obraz zbioru rozwiązań efektywnch w przestrzeni ryzyko-zysk został uzyskany poprzez rozwiązanie zadania metody punktu odniesienia dla różnych wartości aspiracji dla zysku oraz ryzyka. Do wykonania obliczeń posłużono się skryptem przedstawionym na Listing 7. Obliczenia przeprowadzono ustalając poziomy aspiracji w wyznaczonych granicach zmienności zysku i ryzyka (wektory nadiru i utopii wyznaczone w kolejnej sekcji). Dla każdego poziomu aspiracji wykorzystano po 10 równoodległych wartości znajdujących się w przedziałach definiowanych przez wektory nadiru i utopii. - -Ze względu na duży rozmiar zadania, a przez długi czas obliczeń przy 1000 scenariuszach, zdecydowano się ograniczyć ich liczbę do 50. Niestety nie jest to liczba wystarczająca do przeprowadzenia dokładnych obliczeń, jednak uzyskane wyniki powinny być wystarczające do przedstawienia działania metody. - -Fragment wyników działania skryptu obliczeniowego przedstawia Listing 8. Obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk pokazuje Rysunek 1. - -Listing 8: Skrypt obliczający wartości do wyznaczenia obrazu zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk. Pełne wyniki dostępne w załączniku. - -\begin{verbatim} -1 ### 39: Solving model for aspirations : 2395 .666667 , 312 .777778 -2 CPLEX 12 .8.0.0 : optimal integer solution within mipgap or absmipgap ; ←- - objective 5 .427722957e -07 -3 39 MIP simplex iterations -4 0 branch -and - bound nodes -5 absmipgap = 7 .81092e -07 , relmipgap = 1 .43881 -\end{verbatim} - -\begin{verbatim} -6 Profit : 2417 .827519 -7 Risk : 311 .250020 -8 RPM : 0 .000001 -9 ### 40: Solving model for aspirations : 2395 .666667 , 0 .000000 -10 CPLEX 12 .8.0.0 : -11 < BREAK > ( cplex ) -12 CPLEX solution status 13 with fixed integers : -13 aborted in phase II -14 aborted , integer solution exists ; objective -0 .06697476417 -15 116486 MIP simplex iterations -16 103313 branch -and - bound nodes -17 absmipgap = 6 .93933e -05 , relmipgap = 0 .00103611 -18 Profit : 1432 .148909 -19 Risk : 188 .510726 -20 RPM : -0 .066975 -\end{verbatim} - -Rozwiązania efektywne minimalnego ryzyka i maksymalnego zysku - -Rozwiązania efektywne dla minimalnego ryzyka i maksymalnego zysku wyznaczono wykorzystując skrypt przedstawiony na listingu Listing 4. Na podstwaie wyników jego działania, które przedstawia Listing 9 można podać następujące rozwiązania: - -\begin{itemize} -\item Minimalne ryzyko: $ep = -1000$, przy $r = 0$, -\item Maksymalny zysk: $ep = 11987$, przy $r = 2569$ -\end{itemize} - -Dodatkowo poza zakresem zadania wyznaczonon pozostałe elementy potrzebne do wyznaczenia wektorów nadiru i utopii: - -\begin{itemize} -\item Maksymalne ryzyko: $ep = 9193$, przy $r = 2815$, -\item Minimalny zysk: $ep = -2400.00$, przy $r = 0.00$ -\end{itemize} - -$$\text{Wektor nadiru: } (-2400, 2815)$$ - -Wektor utopii: $(0, 11987)$ - -Listing 9: Skrypt wyznaczający rozwiązania optymalne modelu dwukryterialnego. - -\begin{verbatim} -1 # ######################## -2 ### Minimizing profit ### -3 # ######################## -4 CPLEX 12 .8.0.0 : optimal integer solution ; objective -2400 -5 7 MIP simplex iterations -6 0 branch -and - bound nodes -7 Profit : -2400 -8 Risk : 0 -9 -10 # ######################## -11 ### Maximizing profit ### -12 # ######################## -13 CPLEX 12 .8.0.0 : optimal integer solution ; objective 11987 .41899 -14 32 MIP simplex iterations -15 0 branch -and - bound nodes -16 Profit : 11987 -17 Risk : 2569 -18 -\end{verbatim} - -\begin{verbatim} -19 # ###################### -20 ### Minimizing risk ### -21 # ###################### -22 CPLEX 12 .8.0.0 : optimal integer solution ; objective 0 -23 0 MIP simplex iterations -24 0 branch -and - bound nodes -25 Profit : -1000 -26 Risk : 0 -27 -28 # ####################### -29 ### Maximizing risk k### -30 # ####################### -31 CPLEX 12 .8.0.0 : optimal integer solution ; objective 2815 .995263 -32 21837 MIP simplex iterations -33 705 branch -and - bound nodes -34 Profit : 9193 -35 Risk : 2815 -\end{verbatim} - -\subsubsection{Analiza relacji dominacji stochastycznej dla trzech wybranych rozwiązań efektywnych} - -Do analizy wybrano następujące scenariusze: - +\section*{Polecenia} +\addcontentsline{toc}{section}{Polecenia} \begin{enumerate} -\item Maksymalny zysk $ep = 11987.42$, -\item Poziomy aspiracji $aspep = 8789.89$ oraz $asp^r = 1876.67$, -\item Poziomy aspiracji $aspep = 10388.44$ oraz $asp^r = 938.33$. + \item Zaproponować jednokryterialny model wyboru w warunkach ryzyka z wartością oczekiwaną jako + miarą zysku. Wyznaczyć rozwiązanie optymalne. + \item Jako rozszerzenie powyższego zaproponować dwukryterialny model zysku i ryzyka ze średnią + jako miarą zysku i średnią różnicą Giniego jako miarą ryzyka. Dla decyzji + $\mathbf{x}\in Q$ średnia różnica Giniego jest definiowana jako + $\Gamma(\mathbf{x})=\frac{1}{2}\sum_{t'=1}^{T}\sum_{t"=1}^{T}\lvert r_{t'}(\mathbf{x})-r_{t"}(\mathbf{x})\rvert p_{t'}p_{t"}$, gdzie $r_{t'}(\mathbf{x})$ + oznacza realizację dla scenariusza t, $p_{t}$ prawdopodobieństwo scenariusza t. + \begin{enumerate} + \item Wyznaczyć obraz zbioru rozwiązań efektywnych w przestrzeni zysk-ryzyko. + \item Wskazać rozwiązania efektywne minimalnego ryzyka i maksymalnego zysku. Jakie odpowiadają im + wartości w przestrzeni ryzyko-zysk? + \item Wybrać trzy dowolne rozwiązania efektywne. Sprawdzić, czy zachodzi pomiędzy nimi relacja + dominacji stochastycznej pierwszego rzędu. Wyniki skomentować, odnieść do ogólnego przypadku. + \end{enumerate} \end{enumerate} -Dane do analizy zostały wygenerowane w trakcie przeprowadzania obliczeń do poprzednich podpunktów i są dostępne w załącznikach. +\section{Jednokryterialny model wyboru} +Model jednokryterialny wyboru w warunkach ryzyka został zaprojektowany w celu identyfikacji rozwiązania +optymalnego poprzez maksymalizację oczekiwanej wartości zysku. Wartość oczekiwana jest kalkulowana na +podstawie scenariuszy generowanych zgodnie z rozkładem \textit{t}-Studenta wykorzystującym parametry +określone w zadaniu. W analizie założono równomierne prawdopodobieństwo występowania wszystkich +scenariuszy. +\subsection{Parametry modelu} +Wszystkie parametry modelu zostały przedstawione w tabeli poniżej wraz z ich szczegółowymi opisami. +Identyczne nazewnictwo zostało zastosowane w implementacji modelu. Dla parametrów będących wektorami +i macierzami, w nawiasach kwadratowych określono ich wymiary, odnosząc się do odpowiednich parametrów liczbowych. +\begin{table}[ht!] +\caption{Tabela zawierająca parametry modelu jednokryterialnego} +\label{tab:param} +\begin{tabular}{lp{9cm}} + \hline + Nazwa parametru & Szczegółowy opis znaczenia \\ + \hline + nMachType & Ilość typów maszyn (procesów) dostępnych w fabryce \\ +nMonth & Ilość miesięcy uwzględnionych w symulacji \\ +nProdType & Ilość typów produktów \\ +nScenarios & Ilość scenariuszy wygenerowanych do symulacji \\ +machines[nMachType] & Wektor typów maszyn (procesów)\\ +months[nMonth] & Wektor miesięcy symulacji\\ +products[nProdType] & Wektor typów produktów\\ +machineCount[nMachType] & Wektor ilości maszyn danego typu\\ +prodTime[nMachType][nProdType] & macierz czasów produkcji danego produktu na danej maszynie \\ +maxInMonth[nMonth][nProdType] & macierz maksymalnej ilości produktów, jakie można sprzedać w danym miesiącu\\ +nHours & Ilość godzin pracy fabryki w miesiącu\\ +mu[nProdType] & Wektor wartości oczekiwanych rozkładu t-Studenta do generacji scenariuszy\\ +sigma [nProdType][nProdType] & Macierz kowariancji dla rozkłady t-Studenta\\ +sellProfit[nScenarios][nProdType] & Macierz wygenerowanych sceniariuszy dochodów ze sprzedaży produktów\\ +storageCost & Koszt trzymania jednej sztuki produktu w magazynie przez miesiąc \\ +storageMax[nProdType] & Wektor maksymalnej pojemności magazynu dla każdego typu produktu \\ +storageStart[nProdType] & Wektor ilości początkowej produktów w magazynie \\ + \hline +\end{tabular} +\end{table} -Dystrybuanty zysku przedstawia Rysunek 2. +\subsection{Zmienne decyzyjne} +Zmienne decyzyjne stanowią wartości kontrolowane przez podmiot podejmujący decyzje i są fundamentalne dla rozwiązywanego problemu. Zadaniem optymalizatora jest wyznaczenie takich wartości tych zmiennych, które umożliwią osiągnięcie optymalnego rozwiązania. W tabeli zawierającej zmienne decyzyjne modelu zaprezentowano zmienne decyzyjne zastosowane w modelu wraz z ich szczegółowymi opisami. Przyjęto tę samą konwencję nazewnictwa, co w przypadku parametrów modelu. -Na podstawie wykresów możemy stwierdzić, że rozwiązanie dla scenariusza z maksymalnym zyskiem dominuje w sensie FSD pozostałe rozwiązania. Dodatkowo widzimy, że rozwiązanie ze scenariusza 3 dominuje w sensie FSD rozwiązanie scenariusza 2. +\begin{table}[ht!] +\caption{Tabela zawierająca zmienne decyzyjne modelu} +\label{tab:var} +\begin{tabular}{lp{7.5cm}} + \hline + Nazwa zmiennej & Szczegółowy opis znaczenia \\ + \hline + produce[nMonth][nProdType] & Macierz zawierające ilości wytwarzanych sztuk danego typu produktu w danym miesiącu \\ + sell[nMonth][nProdType] & Macierz zawierająca ilości sprzedawanych sztuk danego typu produktu w danym miesiącu \\ + stock[nMonth][nProdType] & Macierz zawierająca ilości sztuk danego typu produktu znajdujących się w magazynie w danym miesiącu \\ + workTime[nMonth][nMachType][nProdType] & Macierz zawierająca czas pracy każdej maszyny dla każdego typu produktu w kazdym miesiącu \\ + if80prec[nMonth][nProdType] & Macierz zmiennych binarnych (1 jeśli sprzedaż danego produktu w danym miesiącu przekroczyła 80\% wartości maksymalnej, 0 - w przeciwnym wypadku)\\ + lowerProfit[nScenarios][nMonth][nProdType] & Macierz przechowująca kwoty, jaką należy odjąć od zysków z poszczególnych typów produktów w poszczególnych miesiącach, ze względu na przekroczenie 80\% pojemności rynku. Zmienna niezbędna do wyeliminowania obecności zmiennej binarnej w funkcji oceny\\ + \hline +\end{tabular} +\end{table} -\begin{figure}[H] +\subsection{Ograniczenia} +\begin{itemize} +\item Ograniczenie dolne wartości zmiennych decyzyjnych – wartości nie mogą być mniejsze od zera: + \begin{equation} + \bigforall_{\substack{ + m \in months \\ + p \in products \\ + mc \in machines}} workTime[m][mc][p] >=0 + \end{equation} + \begin{equation} + \bigforall_{\substack{ + m \in months \\ + p \in products}} produce[m][p] >=0 + \end{equation} + \begin{equation} + \bigforall_{\substack{ + m \in months \\ + p \in products}} sell[m][p] >=0 + \end{equation} + \begin{equation} + \bigforall_{\substack{ + m \in months \\ + p \in products}} stock[m][p] >=0 + \end{equation} + \begin{equation} + \bigforall_{\substack{ + i \in scenarios \\ + m \in months \\ + p \in products}} lowerProfit[i][m][p] >=0 + \end{equation} + +\item Ograniczenie czasowe pracy maszyn - Każda maszyna może pracować maksymalnie \textit{nHours} godzin w miesiącu, zatem łączny czas pracy wszystkich maszyn danego typu nie może przekroczyć iloczynu liczby dostępnych maszyn tego typu i czasu \textit{nHours}. + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + mc \in machines}} \sum_{p \in products} + (workTime[m][mc][p] <= machineCount[mc]*nHours) + \end{equation} + \item Ograniczenie wiążące czas pracy maszyn z produkcją - czas wykorzystania określonego typu maszyny jest równy sumie iloczynów liczby wytworzonych jednostek każdego produktu i czasu potrzebnego na obróbkę jednej jednostki tego produktu na danej maszynie: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + mc \in machines\\ + p \in products}} workTime[m][mc][p] == produce[m][p]*prodTime[mc][p] + \end{equation} + \item Ograniczenie maksymalnej sprzedaży wynikające z pojemności rynku w danym miesiącu: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} sell[m][p] == maxInMonth[m][p] + \end{equation} + + \item Warunki definiujące zmienną binarną przy przekroczeniu 80 procent chłonności rynku: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} sell[m][p] <= 0.8*maxInMonth[m][p] + 1000000 * if80prec[m][p] + \end{equation} + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} sell[m][p] >= 0.8*maxInMonth[m][p] * if80prec[m][p] + \end{equation} + + \item Ograniczenia linearyzujące oddziaływanie zmiennych binarnych na funkcję celu: + \begin{equation} + \bigforall_{\substack{ + i \in scenarios\\ + m \in months\\ + p \in products}} lowerProfit[i][m][p] <= 1000000 * if80prec[m][p] + \end{equation} + \begin{equation} + \bigforall_{\substack{ + i \in scenarios\\ + m \in months\\ + p \in products}} lowerProfit[i][m][p] <= 0.2 * sell[m][p]*sellProfit[i][p] + \end{equation} + \begin{multline} + \bigforall_{\substack{ + i \in scenarios\\ + m \in months\\ + p \in products}} 0.2 * sell[m][p]*sellProfit[i][p] - lowerProfit[i][m][p] +\\ 1000000 * if80prec[m][p] <= 1000000; + \end{multline} + + \item Ograniczenie sprzedaży do liczby sztuk wyprodukowanych oraz dostępnych w magazynie. Dla pierwszego miesiąca ograniczenie przyjmuje formę: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} sell[m][p] <= produce[m][p]+storageStart[p] + \end{equation} + Dla każdego następnego miesiąca: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} sell[m][p] <= produce[m][p] + stock[m-1][p] + \end{equation} + + \item Ograniczenie określające stan magazynu na koniec miesiąca jako różnicę między sumą produktów wyprodukowanych i dostępnych na początku miesiąca a liczbą sprzedanych jednostek. Dla pierwszego miesiąca: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} stock[m][p]==(produce[m][p] + storageStart[p])-sell[m][p] + \end{equation} + Dla każdego następnego miesiąca: + \begin{equation} + \bigforall_{\substack{ + m \in months\\ + p \in products}} stock[m][p]==(produce[m][p] + stock[m-1][p])-sell[m][p] + \end{equation} + +\end{itemize} +\subsection{Funkcja celu} +Funkcja celu w modelu jednokryterialnym polega na maksymalizacji wartości oczekiwanej zysku ze wszystkich analizowanych scenariuszy. W każdym ze scenariuszy zastosowano funkcję zysku o następującej postaci +\begin{multline} +\bigforall_{\substack{ + i= 0; + produce[m][p] >= 0; + sell[m][p] >= 0; + stock[m][p] >= 0; + lowerProfit[i][m][p] >= 0; + } + // Ogranicznie czasu produkcji maszyn w miesiacu + forall(m in months, mc in machines) { + sum(p in products) (workTime[m][mc][p]) <= (machineCount[mc]*nHours); + } + // Ograniczenie definiujace wykorzystany czas pracy maszyn + forall(m in months, p in products, mc in machines) { + workTime[m][mc][p] == produce[m][p]*prodTime[mc][p]; + } + // Ogranicznie maksymalnej pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= maxInMonth[m][p]; + } + // Ogranicznie ustawiajace zmienna binarna po przekroczeniu 80 procent pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= 0.8*maxInMonth[m][p] + 1000000 * if80prec[m][p]; + sell[m][p] >= 0.8*maxInMonth[m][p] * if80prec[m][p]; + } + // Ograniczenia linearyzujace wplyw zmiennej binarnej na funkcje celu + forall (i in scenarios,m in months, p in products) { + lowerProfit[i][m][p] <= 1000000 * if80prec[m][p]; + lowerProfit[i][m][p] <= 0.2 * sell[m][p]*sellProfit[i][p]; + 0.2 * sell[m][p]*sellProfit[i][p] - lowerProfit[i][m][p] + 1000000 * if80prec[m][p] <= 1000000; + } + // Ograniczenie sprzedazy oraz definicja ilosci towaru pozostajacej w magazynie + forall(m in months, p in products) { + if(m == 1) { //pierwszy miesiac + sell[m][p] <= produce[m][p]+storageStart[p]; + stock[m][p]==(produce[m][p] + storageStart[p])-sell[m][p]; + }else { // kolejne miesiace + sell[m][p] <= produce[m][p] + stock[m-1][p]; + stock[m][p]==(produce[m][p] + stock[m-1][p])-sell[m][p]; + } + } + // Ogranicznie maksymalnej ilosci magazynowanych produktow oraz + // wymaganej ilosc pozostalej w magazynie na na koniec symulacji + forall(m in months, p in products) { + stock[m][p] <= storageMax[p]; + if(m == 3) { + stock[m][p] >= 50; + } + } +} diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-2.dat b/Programming/WDWR/projekt/wdwr/wdwr17421-2.dat new file mode 100644 index 00000000..e41d449f --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-2.dat @@ -0,0 +1,77 @@ +/********************************************* + * OPL 12.5.1.0 Data + * Author: Mateusz Percinski + * Creation Date: May 24, 2017 at 10:09:32 PM + *********************************************/ + + /***************PARAMETRY********************/ +nMachType = 5; //ilosc typow maszun +nMonth = 3; //ilosc symulowanych miesiecy +nProdType = 4; //ilosc typow produktow + +nHours = 384; //liczba godzin roboczych w miesiacu 2*8*24=384 +nScenarios = 30; //ilosc scenariuszy w symulacji + +// Ilosc maszyn poszczegolnych typow +machineCount = [4 2 3 1 1]; + +// Koszty wykorzystania typow maszyn (wiersze) +//w wytwarzaniu poszczegolnych typow produktow (kolumny) +prodTime = [[ 0.4 0.6 0 0] + [ 0.2 0.1 0 0.6] + [ 0.1 0 0.7 0] + [ 0.06 0.04 0 0.05] + [ 0 0.05 0.02 0]]; + +// Pojemnosc rynku - typ produktu(kolumny) w miesiacu(wiersz) +maxInMonth = [[ 400 0 200 300] + [ 700 400 500 0] + [ 0 800 600 400]]; + +// Magazyn +storageMax = [200 200 200 200]; //maksymalna pojemnosc dla typow produktow +storageCost = 1; //koszt magazynowania zl/sztuka/miesiac +storageStart = [50 50 50 50]; //poczatkowa ilosc w magazynach + +/************************* SCENARIOS *************************/ +// expected values (used only in t-student.R script) +mu = [9 8 7 6]; + +// covariance (used only in t-student.R script) +sigma = [[ 16 -2 -1 -3] + [ -2 9 -4 -1] + [ -1 -4 4 1] + [ -3 -1 1 1]]; + +// scenarios (generated by t-student.R script) +sellProfit = [[10.7349277395552 7.72178696852481 6.91313555665251 5.3580692014906] +[11.4029325398093 5.35289018472828 8.44560627918346 5.94437008867837] +[5.9511305436333 9.89072813219028 8.15019579921374 5.92283032635847] +[6.98653442934503 9.43820696539249 6.08947859890014 6.28684001183198] +[8.97632928181137 7.73492022936159 7.69443003815675 6.65911599366542] +[6.3718935550723 8.80949463923562 7.79090422832384 6.81174804312265] +[8.78246371277526 9.96223625339419 5.07839427301482 6.04541265888823] +[8.61200211939238 6.9004774184148 8.38569802461679 6.01047636955988] +[8.04259291408092 11.6005401405856 5.51825529023523 5.52418355625024] +[10.2568641176451 9.42484863719592 5.61768337124079 5.44832826311492] +[6.06345343273768 6.67810135189213 8.25425855603235 7.11046580533962] +[8.74262951486885 8.49193741618487 8.26781448661321 5.63718569432722] +[8.96019482191789 7.48206038212727 8.64020735666332 6.61806454609454] +[10.7060656286305 7.74073441264031 8.70806653294011 5.56273592101066] +[9.14849596786536 5.38206186993592 8.48324089408178 6.31836607658665] +[10.9884988766065 5.05294389126629 7.81201862380442 5.89377116896792] +[9.85025400030063 9.20603928762331 6.76845266520436 5.77678827669309] +[9.76699335636152 7.83363407758539 5.01347383618885 5.84594312150737] +[8.22098260831502 7.93964476990494 8.36747212617667 6.58666346744554] +[9.64940023484707 7.34646951028725 8.15389801271092 6.71485257935324] +[9.56697193644308 7.24791547600423 5.82061898605385 6.6329880618574] +[7.64858383380397 11.8956850930214 6.57566578417732 7.52978318768004] +[10.8667504186116 5.6239431792075 6.49095275149094 5.44747350145729] +[11.5459204391574 6.5874000517338 8.91791399632966 5.70569902009294] +[9.00453124705504 6.25952067886102 8.93937357845343 6.11437998871486] +[10.4316051568988 8.89165309349428 8.00183466339121 6.22792967489147] +[11.1403947310683 8.80153331584519 6.36710780356291 5.52424084189948] +[9.5907049066395 9.30053224873728 6.5052199777433 5.64308372528693] +[6.47305423724122 7.66508680006143 7.42589600717661 6.52108273658984] +[9.76726531281191 8.22194904261638 7.1081746124431 6.13833241033153] +]; \ No newline at end of file diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-2.mod b/Programming/WDWR/projekt/wdwr/wdwr17421-2.mod new file mode 100644 index 00000000..121ea18d --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-2.mod @@ -0,0 +1,128 @@ +/********************************************* + * OPL 12.5.1.0 Model + * Author: mateu + * Creation Date: May 24, 2017 at 10:08:31 PM + *********************************************/ + + /***********PARAMETRY************************/ + //Paramatry zostaladniej opisane w pliku .dat oraz raporcie + +// Parametry liczbowe +int nMachType = ...; +int nMonth = ...; +int nProdType = ...; + +int nHours = ...; +int nScenarios = ...; + +// Utworzenie wektorow indeksujacych +{int} machines = asSet(1..nMachType); +{int} months = asSet(1..nMonth); +{int} products = asSet(1..nProdType); +{int} scenarios = asSet(1..nScenarios); + +//Parametry produkcji i sprzedazy +int machineCount[machines] = ...; +float prodTime[machines][products] = ...; +int maxInMonth[months][products] = ...; + +//Parametry magazynowania +int storageMax[products] = ...; +int storageCost = ...; +int storageStart[products] = ...; + +//Parametry do generowania scenariusze (nieuzywane w modelu CPLEX) +int mu[products] = ...; +int sigma[products][products] = ...; + +//Macierz scenariuszy dochodow ze sprzedazy: typ produkty (kolumna) - scenariusz (wiersz) +float sellProfit[scenarios][products] = ...; + +/*********** ZMIENNE DECYZYJNE ********************************************/ +dvar int produce[months][products]; // Liczba wyprodukowanych +dvar int sell[months][products]; // Liczba sprzedanych +dvar int stock[months][products]; // Liczba w magazynie + +// Czas wykorzystany na danym typie maszyna na dany typ produktu +dvar float workTime[months][machines][products]; + +// Zmienna binarna - czy sprzedaz danego typu produktu przekaroczyla 80 procent pojemnosci rynku +dvar boolean if80prec[months][products]; + +// Zmienna - ile pieniedzy nalezy odjac od dochodow z poszczegolnych produkow +// w poszczegolnych miesiacach ze wzgledu na przekroczenie 80% pojmnosci rynku +dvar float lowerProfit[scenarios][months][products]; + +/************ KRYTERIA OCENY *********************************************/ +// ZYSK policzony dla poszczegolnych scenariuszy +dexpr float profit[i in scenarios] = sum(m in months, p in products) +(sell[m][p]*sellProfit[i][p]-lowerProfit[i][m][p]- stock[m][p]*storageCost); + +// wartosc oczekiwana zysku policzona jako srednia +dexpr float avgProfit = sum(i in scenarios)(profit[i])/nScenarios; + +// RYZYKO zdefiniowane srednia roznica Giniego +dexpr float giniRisk = sum (t1 in scenarios, t2 in scenarios ) ( + 0.5 * abs(profit[t1] - profit[t2]) * 1/nScenarios * 1/nScenarios + ); + +// funkcja celu +//minimize giniRisk; +maximize avgProfit; + +// ************** OGRANICZENIA ******************************************/ +subject to { + // Zmienne decyzyjne nie mniejsze niz zero + forall(i in scenarios, m in months, mc in machines, p in products) { + workTime[m][mc][p] >= 0; + produce[m][p] >= 0; + sell[m][p] >= 0; + stock[m][p] >= 0; + lowerProfit[i][m][p] >= 0; + } + // Ogranicznie czasu produkcji maszyn w miesiacu + forall(m in months, mc in machines) { + sum(p in products) (workTime[m][mc][p]) <= (machineCount[mc]*nHours); + } + // Ograniczenie definiujace wykorzystany czas pracy maszyn + forall(m in months, p in products, mc in machines) { + workTime[m][mc][p] == produce[m][p]*prodTime[mc][p]; + } + // Ogranicznie maksymalnej pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= maxInMonth[m][p]; + } + // Ogranicznie ustawiajace zmienna binarna po przekroczeniu 80 procent pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= 0.8*maxInMonth[m][p] + 1000000 * if80prec[m][p]; + sell[m][p] >= 0.8*maxInMonth[m][p] * if80prec[m][p]; + } + // Ograniczenia linearyzujace wplyw zmiennej binarnej na funkcje celu + forall (i in scenarios,m in months, p in products) { + lowerProfit[i][m][p] <= 1000000 * if80prec[m][p]; + lowerProfit[i][m][p] <= 0.2 * sell[m][p]*sellProfit[i][p]; + 0.2 * sell[m][p]*sellProfit[i][p] - lowerProfit[i][m][p] + 1000000 * if80prec[m][p] <= 1000000; + } + // Ograniczenie sprzedazy oraz definicja ilosci towaru pozostajacej w magazynie + forall(m in months, p in products) { + if(m == 1) { //pierwszy miesiac + sell[m][p] <= produce[m][p]+storageStart[p]; + stock[m][p]==(produce[m][p] + storageStart[p])-sell[m][p]; + }else { // kolejne miesiace + sell[m][p] <= produce[m][p] + stock[m-1][p]; + stock[m][p]==(produce[m][p] + stock[m-1][p])-sell[m][p]; + } + } + // Ogranicznie maksymalnej ilosci magazynowanych produktow oraz + // wymaganej ilosc pozostalej w magazynie na na koniec symulacji + forall(m in months, p in products) { + stock[m][p] <= storageMax[p]; + if(m == 3) { + stock[m][p] >= 50; + } + } +} +execute { + cplex.tilim = 600; + writeln("avgProfit: ",avgProfit,", giniRisk: ",giniRisk); +} \ No newline at end of file diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-3.dat b/Programming/WDWR/projekt/wdwr/wdwr17421-3.dat new file mode 100644 index 00000000..ec4e9dde --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-3.dat @@ -0,0 +1,80 @@ +/********************************************* + * OPL 12.5.1.0 Data + * Author: Mateusz Percinski + * Creation Date: May 24, 2017 at 10:09:32 PM + *********************************************/ + + /***************PARAMETRY********************/ +nMachType = 5; //ilosc typow maszun +nMonth = 3; //ilosc symulowanych miesiecy +nProdType = 4; //ilosc typow produktow + +nHours = 384; //liczba godzin roboczych w miesiacu 2*8*24=384 +nScenarios = 30; //ilosc scenariuszy w symulacji + +// Ilosc maszyn poszczegolnych typow +machineCount = [4 2 3 1 1]; + +// Koszty wykorzystania typow maszyn (wiersze) +//w wytwarzaniu poszczegolnych typow produktow (kolumny) +prodTime = [[ 0.4 0.6 0 0] + [ 0.2 0.1 0 0.6] + [ 0.1 0 0.7 0] + [ 0.06 0.04 0 0.05] + [ 0 0.05 0.02 0]]; + +// Pojemnosc rynku - typ produktu(kolumny) w miesiacu(wiersz) +maxInMonth = [[ 400 0 200 300] + [ 700 400 500 0] + [ 0 800 600 400]]; + +// Magazyn +storageMax = [200 200 200 200]; //maksymalna pojemnosc dla typow produktow +storageCost = 1; //koszt magazynowania zl/sztuka/miesiac +storageStart = [50 50 50 50]; //poczatkowa ilosc w magazynach + +/******************* METODA: WYMAGANY POZIOM ZYSKU ***********/ +minAvgProfit = 20000.0; //wymagany poziom zysku + +/************************* SCENARIOS *************************/ +// expected values (used only in t-student.R script) +mu = [9 8 7 6]; + +// covariance (used only in t-student.R script) +sigma = [[ 16 -2 -1 -3] + [ -2 9 -4 -1] + [ -1 -4 4 1] + [ -3 -1 1 1]]; + +// scenarios (generated by t-student.R script) +sellProfit = [[10.7349277395552 7.72178696852481 6.91313555665251 5.3580692014906] +[11.4029325398093 5.35289018472828 8.44560627918346 5.94437008867837] +[5.9511305436333 9.89072813219028 8.15019579921374 5.92283032635847] +[6.98653442934503 9.43820696539249 6.08947859890014 6.28684001183198] +[8.97632928181137 7.73492022936159 7.69443003815675 6.65911599366542] +[6.3718935550723 8.80949463923562 7.79090422832384 6.81174804312265] +[8.78246371277526 9.96223625339419 5.07839427301482 6.04541265888823] +[8.61200211939238 6.9004774184148 8.38569802461679 6.01047636955988] +[8.04259291408092 11.6005401405856 5.51825529023523 5.52418355625024] +[10.2568641176451 9.42484863719592 5.61768337124079 5.44832826311492] +[6.06345343273768 6.67810135189213 8.25425855603235 7.11046580533962] +[8.74262951486885 8.49193741618487 8.26781448661321 5.63718569432722] +[8.96019482191789 7.48206038212727 8.64020735666332 6.61806454609454] +[10.7060656286305 7.74073441264031 8.70806653294011 5.56273592101066] +[9.14849596786536 5.38206186993592 8.48324089408178 6.31836607658665] +[10.9884988766065 5.05294389126629 7.81201862380442 5.89377116896792] +[9.85025400030063 9.20603928762331 6.76845266520436 5.77678827669309] +[9.76699335636152 7.83363407758539 5.01347383618885 5.84594312150737] +[8.22098260831502 7.93964476990494 8.36747212617667 6.58666346744554] +[9.64940023484707 7.34646951028725 8.15389801271092 6.71485257935324] +[9.56697193644308 7.24791547600423 5.82061898605385 6.6329880618574] +[7.64858383380397 11.8956850930214 6.57566578417732 7.52978318768004] +[10.8667504186116 5.6239431792075 6.49095275149094 5.44747350145729] +[11.5459204391574 6.5874000517338 8.91791399632966 5.70569902009294] +[9.00453124705504 6.25952067886102 8.93937357845343 6.11437998871486] +[10.4316051568988 8.89165309349428 8.00183466339121 6.22792967489147] +[11.1403947310683 8.80153331584519 6.36710780356291 5.52424084189948] +[9.5907049066395 9.30053224873728 6.5052199777433 5.64308372528693] +[6.47305423724122 7.66508680006143 7.42589600717661 6.52108273658984] +[9.76726531281191 8.22194904261638 7.1081746124431 6.13833241033153] +]; \ No newline at end of file diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-3.mod b/Programming/WDWR/projekt/wdwr/wdwr17421-3.mod new file mode 100644 index 00000000..72806afc --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-3.mod @@ -0,0 +1,164 @@ +/********************************************* + * OPL 12.5.1.0 Model + * Author: mateu + * Creation Date: May 24, 2017 at 10:08:31 PM + *********************************************/ + + /***********PARAMETRY************************/ + //Paramatry zostaladniej opisane w pliku .dat oraz raporcie + +// Parametry liczbowe +int nMachType = ...; +int nMonth = ...; +int nProdType = ...; + +int nHours = ...; +int nScenarios = ...; + +// Utworzenie wektorow indeksujacych +{int} machines = asSet(1..nMachType); +{int} months = asSet(1..nMonth); +{int} products = asSet(1..nProdType); +{int} scenarios = asSet(1..nScenarios); + +//Parametry produkcji i sprzedazy +int machineCount[machines] = ...; +float prodTime[machines][products] = ...; +int maxInMonth[months][products] = ...; + +//Parametry magazynowania +int storageMax[products] = ...; +int storageCost = ...; +int storageStart[products] = ...; + +//Parametry do generowania scenariusze (nieuzywane w modelu CPLEX) +int mu[products] = ...; +int sigma[products][products] = ...; + +//Macierz scenariuszy dochodow ze sprzedazy: typ produkty (kolumna) - scenariusz (wiersz) +float sellProfit[scenarios][products] = ...; + +/******************* PARAMTERY METODY: WYMAGANY POZIOM ZYSKU ***********/ +float minAvgProfit = ...; //wymagany poziom zysku + +/*********** ZMIENNE DECYZYJNE ********************************************/ +dvar int produce[months][products]; // Liczba wyprodukowanych +dvar int sell[months][products]; // Liczba sprzedanych +dvar int stock[months][products]; // Liczba w magazynie + +// Czas wykorzystany na danym typie maszyna na dany typ produktu +dvar float workTime[months][machines][products]; + +// Zmienna binarna - czy sprzedaz danego typu produktu przekaroczyla 80 procent pojemnosci rynku +dvar boolean if80prec[months][products]; + +// Zmienna - ile pieniedzy nalezy odjac od dochodow z poszczegolnych produkow +// w poszczegolnych miesiacach ze wzgledu na przekroczenie 80% pojmnosci rynku +dvar float lowerProfit[scenarios][months][products]; + +/************ KRYTERIA OCENY *********************************************/ +// ZYSK policzony dla poszczegolnych scenariuszy +dexpr float profit[i in scenarios] = sum(m in months, p in products) +(sell[m][p]*sellProfit[i][p]-lowerProfit[i][m][p]- stock[m][p]*storageCost); + +// wartosc oczekiwana zysku policzona jako srednia +dexpr float avgProfit = sum(i in scenarios)(profit[i])/nScenarios; + +// RYZYKO zdefiniowane srednia roznica Giniego +dexpr float giniRisk = sum (t1 in scenarios, t2 in scenarios ) ( + 0.5 * abs(profit[t1] - profit[t2]) * 1/nScenarios * 1/nScenarios + ); + +// funkcja celu +minimize giniRisk; +//maximize avgProfit; + +// ************** OGRANICZENIA ******************************************/ +subject to { + // Zmienne decyzyjne nie mniejsze niz zero + forall(i in scenarios, m in months, mc in machines, p in products) { + workTime[m][mc][p] >= 0; + produce[m][p] >= 0; + sell[m][p] >= 0; + stock[m][p] >= 0; + lowerProfit[i][m][p] >= 0; + } + // Ogranicznie czasu produkcji maszyn w miesiacu + forall(m in months, mc in machines) { + sum(p in products) (workTime[m][mc][p]) <= (machineCount[mc]*nHours); + } + // Ograniczenie definiujace wykorzystany czas pracy maszyn + forall(m in months, p in products, mc in machines) { + workTime[m][mc][p] == produce[m][p]*prodTime[mc][p]; + } + // Ogranicznie maksymalnej pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= maxInMonth[m][p]; + } + // Ogranicznie ustawiajace zmienna binarna po przekroczeniu 80 procent pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= 0.8*maxInMonth[m][p] + 1000000 * if80prec[m][p]; + sell[m][p] >= 0.8*maxInMonth[m][p] * if80prec[m][p]; + } + // Ograniczenia linearyzujace wplyw zmiennej binarnej na funkcje celu + forall (i in scenarios,m in months, p in products) { + lowerProfit[i][m][p] <= 1000000 * if80prec[m][p]; + lowerProfit[i][m][p] <= 0.2 * sell[m][p]*sellProfit[i][p]; + 0.2 * sell[m][p]*sellProfit[i][p] - lowerProfit[i][m][p] + 1000000 * if80prec[m][p] <= 1000000; + } + // Ograniczenie sprzedazy oraz definicja ilosci towaru pozostajacej w magazynie + forall(m in months, p in products) { + if(m == 1) { //pierwszy miesiac + sell[m][p] <= produce[m][p]+storageStart[p]; + stock[m][p]==(produce[m][p] + storageStart[p])-sell[m][p]; + }else { // kolejne miesiace + sell[m][p] <= produce[m][p] + stock[m-1][p]; + stock[m][p]==(produce[m][p] + stock[m-1][p])-sell[m][p]; + } + } + // Ogranicznie maksymalnej ilosci magazynowanych produktow oraz + // wymaganej ilosc pozostalej w magazynie na na koniec symulacji + forall(m in months, p in products) { + stock[m][p] <= storageMax[p]; + if(m == 3) { + stock[m][p] >= 50; + } + } + /******************OGRANICZENIE: WYMAGANY POZIOM ZYSKU ****************************/ + avgProfit>=minAvgProfit; + +}// Koniec ogranicznen + +main { + var file = new IloOplOutputFile("result-minAvgProfit.txt"); + //var fileAP = new IloOplOutputFile("avgProfitScenario.txt"); + //var fileMR = new IloOplOutputFile("maxRiskScenario.txt"); + + var mod = thisOplModel; + var def = mod.modelDefinition; + var data = mod.dataElements; + var maxAvgProfit = 26553; + var i = 1; + + file.writeln("i;minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + + data.minAvgProfit = -600.0; + + while (data.minAvgProfit <= maxAvgProfit) { + mod = new IloOplModel (def, cplex); + mod.addDataSource(data); + mod.generate(); + cplex.tilim = 300; + cplex.solve(); + file.writeln(i,";",data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + writeln(i," minAvgProfit: ",data.minAvgProfit," avgProfit: ",mod.avgProfit,", giniRisk: ",mod.giniRisk); + mod.end(); + data.minAvgProfit = data.minAvgProfit + 532.41; + i = i+1; + }; + + + file.close(); + //fileAP.close(); + //fileMR.close(); +} \ No newline at end of file diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-4.dat b/Programming/WDWR/projekt/wdwr/wdwr17421-4.dat new file mode 100644 index 00000000..ec4e9dde --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-4.dat @@ -0,0 +1,80 @@ +/********************************************* + * OPL 12.5.1.0 Data + * Author: Mateusz Percinski + * Creation Date: May 24, 2017 at 10:09:32 PM + *********************************************/ + + /***************PARAMETRY********************/ +nMachType = 5; //ilosc typow maszun +nMonth = 3; //ilosc symulowanych miesiecy +nProdType = 4; //ilosc typow produktow + +nHours = 384; //liczba godzin roboczych w miesiacu 2*8*24=384 +nScenarios = 30; //ilosc scenariuszy w symulacji + +// Ilosc maszyn poszczegolnych typow +machineCount = [4 2 3 1 1]; + +// Koszty wykorzystania typow maszyn (wiersze) +//w wytwarzaniu poszczegolnych typow produktow (kolumny) +prodTime = [[ 0.4 0.6 0 0] + [ 0.2 0.1 0 0.6] + [ 0.1 0 0.7 0] + [ 0.06 0.04 0 0.05] + [ 0 0.05 0.02 0]]; + +// Pojemnosc rynku - typ produktu(kolumny) w miesiacu(wiersz) +maxInMonth = [[ 400 0 200 300] + [ 700 400 500 0] + [ 0 800 600 400]]; + +// Magazyn +storageMax = [200 200 200 200]; //maksymalna pojemnosc dla typow produktow +storageCost = 1; //koszt magazynowania zl/sztuka/miesiac +storageStart = [50 50 50 50]; //poczatkowa ilosc w magazynach + +/******************* METODA: WYMAGANY POZIOM ZYSKU ***********/ +minAvgProfit = 20000.0; //wymagany poziom zysku + +/************************* SCENARIOS *************************/ +// expected values (used only in t-student.R script) +mu = [9 8 7 6]; + +// covariance (used only in t-student.R script) +sigma = [[ 16 -2 -1 -3] + [ -2 9 -4 -1] + [ -1 -4 4 1] + [ -3 -1 1 1]]; + +// scenarios (generated by t-student.R script) +sellProfit = [[10.7349277395552 7.72178696852481 6.91313555665251 5.3580692014906] +[11.4029325398093 5.35289018472828 8.44560627918346 5.94437008867837] +[5.9511305436333 9.89072813219028 8.15019579921374 5.92283032635847] +[6.98653442934503 9.43820696539249 6.08947859890014 6.28684001183198] +[8.97632928181137 7.73492022936159 7.69443003815675 6.65911599366542] +[6.3718935550723 8.80949463923562 7.79090422832384 6.81174804312265] +[8.78246371277526 9.96223625339419 5.07839427301482 6.04541265888823] +[8.61200211939238 6.9004774184148 8.38569802461679 6.01047636955988] +[8.04259291408092 11.6005401405856 5.51825529023523 5.52418355625024] +[10.2568641176451 9.42484863719592 5.61768337124079 5.44832826311492] +[6.06345343273768 6.67810135189213 8.25425855603235 7.11046580533962] +[8.74262951486885 8.49193741618487 8.26781448661321 5.63718569432722] +[8.96019482191789 7.48206038212727 8.64020735666332 6.61806454609454] +[10.7060656286305 7.74073441264031 8.70806653294011 5.56273592101066] +[9.14849596786536 5.38206186993592 8.48324089408178 6.31836607658665] +[10.9884988766065 5.05294389126629 7.81201862380442 5.89377116896792] +[9.85025400030063 9.20603928762331 6.76845266520436 5.77678827669309] +[9.76699335636152 7.83363407758539 5.01347383618885 5.84594312150737] +[8.22098260831502 7.93964476990494 8.36747212617667 6.58666346744554] +[9.64940023484707 7.34646951028725 8.15389801271092 6.71485257935324] +[9.56697193644308 7.24791547600423 5.82061898605385 6.6329880618574] +[7.64858383380397 11.8956850930214 6.57566578417732 7.52978318768004] +[10.8667504186116 5.6239431792075 6.49095275149094 5.44747350145729] +[11.5459204391574 6.5874000517338 8.91791399632966 5.70569902009294] +[9.00453124705504 6.25952067886102 8.93937357845343 6.11437998871486] +[10.4316051568988 8.89165309349428 8.00183466339121 6.22792967489147] +[11.1403947310683 8.80153331584519 6.36710780356291 5.52424084189948] +[9.5907049066395 9.30053224873728 6.5052199777433 5.64308372528693] +[6.47305423724122 7.66508680006143 7.42589600717661 6.52108273658984] +[9.76726531281191 8.22194904261638 7.1081746124431 6.13833241033153] +]; \ No newline at end of file diff --git a/Programming/WDWR/projekt/wdwr/wdwr17421-4.mod b/Programming/WDWR/projekt/wdwr/wdwr17421-4.mod new file mode 100644 index 00000000..70c6194c --- /dev/null +++ b/Programming/WDWR/projekt/wdwr/wdwr17421-4.mod @@ -0,0 +1,248 @@ +/********************************************* + * OPL 12.5.1.0 Model + * Author: mateu + * Creation Date: May 24, 2017 at 10:08:31 PM + *********************************************/ + + /***********PARAMETRY************************/ + //Paramatry zostaladniej opisane w pliku .dat oraz raporcie + +// Parametry liczbowe +int nMachType = ...; +int nMonth = ...; +int nProdType = ...; + +int nHours = ...; +int nScenarios = ...; + +// Utworzenie wektorow indeksujacych +{int} machines = asSet(1..nMachType); +{int} months = asSet(1..nMonth); +{int} products = asSet(1..nProdType); +{int} scenarios = asSet(1..nScenarios); + +//Parametry produkcji i sprzedazy +int machineCount[machines] = ...; +float prodTime[machines][products] = ...; +int maxInMonth[months][products] = ...; + +//Parametry magazynowania +int storageMax[products] = ...; +int storageCost = ...; +int storageStart[products] = ...; + +//Parametry do generowania scenariusze (nieuzywane w modelu CPLEX) +int mu[products] = ...; +int sigma[products][products] = ...; + +//Macierz scenariuszy dochodow ze sprzedazy: typ produkty (kolumna) - scenariusz (wiersz) +float sellProfit[scenarios][products] = ...; + +/******************* PARAMTERY METODY: WYMAGANY POZIOM ZYSKU ***********/ +float minAvgProfit = ...; //wymagany poziom zysku + +/*********** ZMIENNE DECYZYJNE ********************************************/ +dvar int produce[months][products]; // Liczba wyprodukowanych +dvar int sell[months][products]; // Liczba sprzedanych +dvar int stock[months][products]; // Liczba w magazynie + +// Czas wykorzystany na danym typie maszyna na dany typ produktu +dvar float workTime[months][machines][products]; + +// Zmienna binarna - czy sprzedaz danego typu produktu przekaroczyla 80 procent pojemnosci rynku +dvar boolean if80prec[months][products]; + +// Zmienna - ile pieniedzy nalezy odjac od dochodow z poszczegolnych produkow +// w poszczegolnych miesiacach ze wzgledu na przekroczenie 80% pojmnosci rynku +dvar float lowerProfit[scenarios][months][products]; + +/************ KRYTERIA OCENY *********************************************/ +// ZYSK policzony dla poszczegolnych scenariuszy +dexpr float profit[i in scenarios] = sum(m in months, p in products) +(sell[m][p]*sellProfit[i][p]-lowerProfit[i][m][p]- stock[m][p]*storageCost); + +// wartosc oczekiwana zysku policzona jako srednia +dexpr float avgProfit = sum(i in scenarios)(profit[i])/nScenarios; + +// DODATKOWE OBLICZNIE RYZYKA DLA KAZDEGO SCENARIUSZA - POTRZEBNE DO ANALIZY FSD +dexpr float risk[i in scenarios] = sum (t in scenarios) ( + 0.5 * abs(profit[i] - profit[t]) * 1/nScenarios +); + +// RYZYKO zdefiniowane srednia roznica Giniego +dexpr float giniRisk = sum (t1 in scenarios, t2 in scenarios ) ( + 0.5 * abs(profit[t1] - profit[t2]) * 1/nScenarios * 1/nScenarios + ); + +// funkcja celu +minimize giniRisk; +//maximize avgProfit; + +// ************** OGRANICZENIA ******************************************/ +subject to { + // Zmienne decyzyjne nie mniejsze niz zero + forall(i in scenarios, m in months, mc in machines, p in products) { + workTime[m][mc][p] >= 0; + produce[m][p] >= 0; + sell[m][p] >= 0; + stock[m][p] >= 0; + lowerProfit[i][m][p] >= 0; + } + // Ogranicznie czasu produkcji maszyn w miesiacu + forall(m in months, mc in machines) { + sum(p in products) (workTime[m][mc][p]) <= (machineCount[mc]*nHours); + } + // Ograniczenie definiujace wykorzystany czas pracy maszyn + forall(m in months, p in products, mc in machines) { + workTime[m][mc][p] == produce[m][p]*prodTime[mc][p]; + } + // Ogranicznie maksymalnej pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= maxInMonth[m][p]; + } + // Ogranicznie ustawiajace zmienna binarna po przekroczeniu 80 procent pojemnosci rynku + forall(m in months, p in products) { + sell[m][p] <= 0.8*maxInMonth[m][p] + 1000000 * if80prec[m][p]; + sell[m][p] >= 0.8*maxInMonth[m][p] * if80prec[m][p]; + } + // Ograniczenia linearyzujace wplyw zmiennej binarnej na funkcje celu + forall (i in scenarios,m in months, p in products) { + lowerProfit[i][m][p] <= 1000000 * if80prec[m][p]; + lowerProfit[i][m][p] <= 0.2 * sell[m][p]*sellProfit[i][p]; + 0.2 * sell[m][p]*sellProfit[i][p] - lowerProfit[i][m][p] + 1000000 * if80prec[m][p] <= 1000000; + } + // Ograniczenie sprzedazy oraz definicja ilosci towaru pozostajacej w magazynie + forall(m in months, p in products) { + if(m == 1) { //pierwszy miesiac + sell[m][p] <= produce[m][p]+storageStart[p]; + stock[m][p]==(produce[m][p] + storageStart[p])-sell[m][p]; + }else { // kolejne miesiace + sell[m][p] <= produce[m][p] + stock[m-1][p]; + stock[m][p]==(produce[m][p] + stock[m-1][p])-sell[m][p]; + } + } + // Ogranicznie maksymalnej ilosci magazynowanych produktow oraz + // wymaganej ilosc pozostalej w magazynie na na koniec symulacji + forall(m in months, p in products) { + stock[m][p] <= storageMax[p]; + if(m == 3) { + stock[m][p] >= 50; + } + } + /******************OGRANICZENIE: WYMAGANY POZIOM ZYSKU ****************************/ + avgProfit>=minAvgProfit; + +}// Koniec ogranicznen + +main { + //var fileProfit = new IloOplOutputFile("results-minAvgProfit-FSD-profit.txt"); + //var fileRisk = new IloOplOutputFile("results-minAvgProfit-FSD-risk.txt"); + var fileProfit = new IloOplOutputFile("results-minAvgProfit-FSD-profit(2).txt"); + var fileRisk = new IloOplOutputFile("results-minAvgProfit-FSD-risk(2).txt"); + + var mod = thisOplModel; + var def = mod.modelDefinition; + var data = mod.dataElements; + var maxAvgProfit = 26553; + var i = 1; + /**************** Pierwsze wybrane rozwiazanie ************************************/ + fileProfit.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + fileRisk.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + + //data.minAvgProfit = 25488.3; + data.minAvgProfit = 10580.7; + + mod = new IloOplModel (def, cplex); + mod.addDataSource(data); + mod.generate(); + + writeln("Pierwsze wybrane rozwiazanie: "); + cplex.solve(); + + writeln(i," minAvgProfit: ",data.minAvgProfit," avgProfit: ",mod.avgProfit,", giniRisk: ",mod.giniRisk); + fileProfit.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + fileRisk.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + + i = 1; + fileProfit.writeln("avgProfit: "); + while (i<=data.nScenarios) { + fileProfit.writeln(mod.profit[i]); + i++; + }; + + i = 1; + fileRisk.writeln("Risk: "); + while (i<=data.nScenarios) { + fileRisk.writeln(mod.risk[i]); + i++; + }; + + /**************** Drugie wybrane rozwiazanie ************************************/ + fileProfit.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + fileRisk.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + + //data.minAvgProfit = 26020.6; + data.minAvgProfit = 20164; + + + mod = new IloOplModel (def, cplex); + mod.addDataSource(data); + mod.generate(); + + writeln("Drugie wybrane rozwiazanie: "); + cplex.solve(); + + writeln(i," minAvgProfit: ",data.minAvgProfit," avgProfit: ",mod.avgProfit,", giniRisk: ",mod.giniRisk); + fileProfit.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + fileRisk.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + + i = 1; + fileProfit.writeln("avgProfit: "); + while (i<=data.nScenarios) { + fileProfit.writeln(mod.profit[i]); + i++; + }; + + i = 1; + fileRisk.writeln("Risk: "); + while (i<=data.nScenarios) { + fileRisk.writeln(mod.risk[i]); + i++; + }; + + /**************** Trzecie wybrane rozwiazanie ************************************/ + fileProfit.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + fileRisk.writeln("minAvgProfit;avgProfit;giniRisk;m1_prod_P1;m1_prod_P2;m1_prod_P3;m1_prod_P4;m2_prod_P1;m2_prod_P2;m2_prod_P3;m2_prod_P4;m3_prod_P1;m3_prod_P2;m3_prod_P3;m3_prod_P4;m1_stock_P1;m1_stock_P2;m1_stock_P3;m1_stock_P4;m2_stock_P1;m2_stock_P2;m2_stock_P3;m2_stock_P4;m3_stock_P1;m3_stock_P2;m3_stock_P3;m3_stock_P4"); + + //data.minAvgProfit = 26553.9; + data.minAvgProfit = 26553.9; + + mod = new IloOplModel (def, cplex); + mod.addDataSource(data); + mod.generate(); + + writeln("Trzecie wybrane rozwiazanie: "); + cplex.solve(); + + writeln(i," minAvgProfit: ",data.minAvgProfit," avgProfit: ",mod.avgProfit,", giniRisk: ",mod.giniRisk); + fileProfit.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + fileRisk.writeln(data.minAvgProfit,";",mod.avgProfit,";",mod.giniRisk,";",mod.produce[1][1],";",mod.produce[1][2],";",mod.produce[1][3],";",mod.produce[1][4], ";",mod.produce[2][1],";",mod.produce[2][2],";",mod.produce[2][3],";",mod.produce[2][4],";",mod.produce[3][1],";",mod.produce[3][2], ";",mod.produce[3][3],";",mod.produce[3][4],";",mod.stock[1][1],";",mod.stock[1][2],";",mod.stock[1][3],";",mod.stock[1][4], ";",mod.stock[2][1],";",mod.stock[2][2],";",mod.stock[2][3],";",mod.stock[2][4],";",mod.stock[3][1],";",mod.stock[3][2], ";",mod.stock[3][3],";",mod.stock[3][4]); + + i = 1; + fileProfit.writeln("avgProfit: "); + while (i<=data.nScenarios) { + fileProfit.writeln(mod.profit[i]); + i++; + }; + + i = 1; + fileRisk.writeln("Risk: "); + while (i<=data.nScenarios) { + fileRisk.writeln(mod.risk[i]); + i++; + }; + + + fileProfit.close(); + fileRisk.close(); +} \ No newline at end of file