Yderligere restriktioner på transportproblemet. Forskningsobjektet er lineære programmeringsproblemer, og emnet er transportproblemer

Formål. Online-beregneren er designet til at løse transport problem differentiel lejemetode(se eksempel på løsning). For at gøre dette skal du vælge dimensionen af ​​tarifmatricen (antal leverandører og antal butikker).
Antal kolonner (butikker) 2 3 4 5 6 7 8 9 10
Antal rækker (udbydere) 2 3 4 5 6 7 8 9 10

Algoritme for differential lejemetoden

Hvis man først fandt en referenceplan ved fastlæggelsen af ​​den optimale plan for den tekniske opgave ved hjælp af den potentielle metode, og derefter blev den konsekvent forbedret, så er en del af lasten, når man finder en løsning på den tekniske opgave ved hjælp af metoden med differentialleje. er først fordelt mellem destinationer (den såkaldte optimal fordeling) og i efterfølgende iterationer gradvist reducere den samlede mængde af ikke-allokerede forsyninger. Den indledende belastningsfordelingsmulighed bestemmes som følger.

I hver af kolonnerne i datatabellen findes minimumstariffen. De fundne tal er omgivet af cirkler, og cellerne med de angivne tal er udfyldt. De maksimalt mulige tal er skrevet i dem. Som følge heraf opnås en vis fordeling af godsleverancer til destinationer. Denne fordeling opfylder generelt ikke begrænsningerne i det oprindelige transportproblem. Derfor bør de næste skridt være gradvist at reducere ikke-allokerede lastforsyninger, så de samlede transportomkostninger forbliver minimale. For at gøre dette skal du først bestemme de overflødige og utilstrækkelige rækker.

Linjer, der svarer til leverandører, hvis beholdning er fuldt allokeret, og hvis efterspørgsel fra de destinationer, der er knyttet til disse kunders planlagte forsendelser, ikke er opfyldt, anses for utilstrækkelige. Disse linjer kaldes nogle gange også negative linjer. Linjer, der ikke er helt opbrugte, betragtes som overskud. Nogle gange kaldes de også positive.

Efter at de overskydende og utilstrækkelige rækker er bestemt, findes forskellene mellem tallet i cirklen og den nærmeste takst skrevet i den overskydende række for hver af kolonnerne. Hvis tallet i cirklen er i den positive linje, er forskellen ikke bestemt. Find det mindste blandt de opnåede tal. Dette tal kaldes den mellemliggende livrente. Efter at have fastsat den mellemliggende livrente, fortsæt til nyt bord. Denne tabel er hentet fra den foregående tabel ved at tilføje mellemleje til de tilsvarende tariffer i negative rækker. De resterende elementer forbliver de samme. I dette tilfælde betragtes alle celler i den nye tabel som frie. Efter at have konstrueret en ny tabel, begynder dens celler at blive udfyldt. Nu er antallet af udfyldte celler en mere end i det foregående trin. Denne ekstra celle er i den kolonne, hvor den mellemliggende livrente blev registreret. Alle andre celler er placeret en i hver af kolonnerne, og den mindste for af denne kolonne tal omsluttet i cirkler. Omgivet af cirkler er to identiske tal i kolonnen, hvori den mellemliggende livrente blev opført i den foregående tabel.

Da antallet af celler, der skal udfyldes, i den nye tabel er større end antallet af kolonner, bør du ved udfyldning af cellerne bruge en særlig regel, som er som følger. Vælg en bestemt kolonne (række), hvori der er en celle med en cirkel placeret i den. Denne celle udfyldes, og denne kolonne (række) er udelukket fra overvejelse. Efter dette, tag en bestemt række (søjle), hvor der er en celle med en cirkel placeret i den. Denne celle er udfyldt og udelukket fra overvejelse. denne linje(kolonne). Fortsætter man sådan, efter et begrænset antal trin, udfyldes alle de celler, hvori cirklerne med numrene er placeret. Hvis det derudover er muligt at fordele hele lasten, så opnås en optimal plan. Hvis den optimale tekniske specifikationsplan ikke opnås, så gå videre til en ny tabel. For at gøre dette skal du finde overflødige og utilstrækkelige rækker, mellemleje og bygge et nyt bord. I dette tilfælde kan der opstå nogle vanskeligheder med at bestemme tegnet for en streng, når dens ikke-allokerede rest lig med nul. I dette tilfælde betragtes rækken som positiv, forudsat at den anden udfyldte celle, placeret i kolonnen, der er knyttet til denne række af en anden udfyldt celle, er placeret i den positive række.

Efter ovenstående iterationer bliver den ikke-allokerede saldo nul. Resultatet er en optimal teknisk specifikationsplan.

Send dit gode arbejde i videnbasen er enkel. Brug formularen nedenfor

Godt arbejde til webstedet">

Studerende, kandidatstuderende, unge forskere, der bruger videnbasen i deres studier og arbejde, vil være dig meget taknemmelig.

opslået på http:// www. alt det bedste. ru/

DEN RUSSISKE FØDERATIONS MINISTERIE FOR UDDANNELSE OG VIDENSKAB

FORBUNDSSTATS BUDGETMÆSSIGE UDDANNELSESINSTITUTION FOR HØJERE PROFESSIONEL UDDANNELSE "LIPETSK STATE PÆDAGOGISKE UNIVERSITET"

FAKULTET FOR INFORMATION OG SOCIALE TEKNOLOGIER

Afdeling matematiske metoder i økonomi

Kursusarbejde

i disciplinen økonomiske og matematiske metoder

om emnet: "Differentierede livrenters metode"

Fuldført:

Stolyarenko K.V.

Videnskabelig rådgiver:

S.V. Petrenko

Lipetsk 2013

Introduktion

1. Teoretisk del

2. Praktisk del

2.1 Løsning af opgaven ved hjælp af matematik

2.2 Løsning af problemet ved hjælp af applikationsprogrammer

Konklusion

Litteratur

Ansøgning

Introduktion

Emnet for dette kursusprojekt: "Danning af virksomhedens optimale personale." dette arbejde er afsat til studiet af teoretiske spørgsmål relateret til dette emne, såvel som skabelsen software produkt, nødvendigt for at automatisere arbejdet for virksomhedens ansatte, der er involveret i udvælgelsen af ​​personale til virksomheden.

Problemet med at danne det optimale personale i en virksomhed har ikke mistet sin betydning i dag, men har tværtimod fået endnu større betydning og relevans, fordi der hver dag åbner sig flere og flere virksomheder, forskellige i omfang og antal job. Og for at de alle skal arbejde mere effektivt, bruger de ikke ekstra Penge, men tværtimod gav de et godt overskud, det er nødvendigt at tage udvælgelsen af ​​personale så seriøst som muligt.

Løsningen på dette problem blev formuleret og løst tilbage i 1941 af F. Hitchcock, men er endnu ikke blevet automatiseret.

Formålet med undersøgelsen er opgaverne lineær programmering, og emnet er transportproblemer.

Målet med projektet er at automatisere processen med at løse problemer med at danne det optimale personale i en virksomhed. For at nå dette mål skal følgende opgaver udføres:

- undersøgelse emneområde;

– analysere metoder til løsning af problemer, nemlig løsning af transportproblemer;

– overveje brugsprincipperne applikationsprogrammer at beregne hovedegenskaberne af modellen for problemet med at danne det optimale personale i en virksomhed;

– analysere en applikation, der giver dig mulighed for at automatisere processen med at løse et kursusprojektproblem.

1. Teoretisk del

1.1 Økonomiske opgaver reduceret til en transportmodel

En transportmodel bruges til at lave den mest økonomiske plan for transport af en type produkt fra flere punkter (f.eks. fabrikker) til leveringssteder (f.eks. varehuse). Transportmodellen kan bruges, når man overvejer en række praktiske situationer relateret til lagerstyring, planlægning af vagter, tildeling af medarbejdere til job, omsætning af tilgængelig kapital, regulering af vandgennemstrømning i reservoirer og mange andre. Derudover kan modellen modificeres til at rumme transport af flere typer produkter.

Transportproblemet er et lineært programmeringsproblem, men dets specifikke struktur gør det muligt at modificere simplex-metoden på en sådan måde, at beregningsprocedurerne bliver mere effektive. Når man udvikler en metode til løsning af et transportproblem, spiller dualitetsteorien en væsentlig rolle.

Det klassiske transportproblem omfatter transport (direkte eller med mellempunkter) af en eller flere typer produkter fra oprindelse til destination. Dette problem kan ændres til at omfatte øvre begrænsninger på gennemløb transport kommunikation. Opgaveproblemet og lagerstyringsproblemet kan betragtes som problemer transporttype. Der er flere typer økonomiske problemer, der kan reduceres til en transportmodel:

– optimal fordeling af udstyr;

– dannelse af det optimale personale i virksomheden;

- opgave planlægning produktion;

optimal forskning marked;

optimal brug arbejde agenter;

– problemet med produktionssted;

– opgaveproblem.

Problemet med at danne det optimale personale i en virksomhed i generel opfattelse er formuleret som følger.

Virksomheden rekrutterer personale. Den har n grupper af forskellige stillinger med bj ledige enheder i hver gruppe, j = 1,...,n. Kandidater til stillinger testes, efter hvis resultater de er opdelt i m grupper af ai-kandidater i hver gruppe, i = 1,...,m. For hver kandidat fra den i-te gruppe kræves der visse uddannelsesomkostninger Cij for at besætte den j-te position, i=1,...,m; j=1,…,n. (I særdeleshed er nogle Cij = 0, dvs. kandidaten svarer fuldt ud til stillingen, eller Cij = ? (Cij = M), dvs. kandidaten kan slet ikke besætte denne stilling.) Det er påkrævet at fordele kandidater til stillinger med minimalt forbrug. midler til deres uddannelse. Lad os lade som om samlet antal kandidater svarer til antallet af ledige stillinger. Derefter denne opgave svarer til transportmodellen. Grupper af kandidater fungerer som leverandører, og grupper af stillinger fungerer som forbrugere. Omskolingsomkostninger betragtes som transporttakster. Den matematiske model er skrevet som:

1.2 Metode til differentialleje til løsning af transportproblemet

Der bruges flere metoder til at løse transportproblemer. Lad os overveje løsningen ved hjælp af metoden med differentierede huslejer.

Når man skal finde en løsning på et transportproblem ved hjælp af differentiallejemetoden, skal man først den bedste måde en del af lasten fordeles mellem destinationer (den såkaldte betinget optimale fordeling) og i efterfølgende iterationer reducerer de gradvist den samlede mængde af ufordelte forsyninger. Den indledende belastningsfordelingsmulighed bestemmes som følger. I hver af kolonnerne i transportopgavedatatabellen findes minimumstariffen. De fundne tal er omgivet af cirkler, og cellerne med de angivne tal er udfyldt. De maksimalt mulige tal er skrevet i dem. Som følge heraf opnås en vis fordeling af godsleverancer til destinationer. Denne fordeling opfylder generelt ikke begrænsningerne i det oprindelige transportproblem. Som følge af efterfølgende trin bør ikke-allokerede lastforsyninger derfor gradvist reduceres, så de samlede transportomkostninger forbliver minimale. For at gøre dette skal du først bestemme de overflødige og utilstrækkelige rækker.

Linjer, der svarer til leverandører, hvis beholdning er fuldt allokeret, og hvis destinationer knyttet til disse kunder ikke er tilfredse af planlagte leverandører, anses for utilstrækkelige. Disse linjer kaldes nogle gange også negative linjer. Linjer, der ikke er helt opbrugte, betragtes som overskud. Nogle gange kaldes de også positive.

Efter at de overskydende og utilstrækkelige rækker er bestemt, findes forskellene for hver af kolonnerne mellem tallet i cirklen og den nærmeste takst skrevet i den overskydende række. Hvis tallet i cirklen er i den positive linje, er forskellen ikke bestemt. Find det mindste blandt de opnåede tal. Dette tal kaldes den mellemliggende livrente. Efter at have fastsat den mellemliggende annuitet, går de videre til et nyt bord. Denne tabel er hentet fra den foregående tabel ved at tilføje mellemleje til de tilsvarende tariffer i negative rækker. De resterende elementer forbliver de samme. I dette tilfælde betragtes alle celler i den nye tabel som frie. Efter at have konstrueret en ny tabel, begynder dens celler at blive udfyldt. Nu er antallet af udfyldte celler en mere end i det foregående trin. Denne ekstra celle er i den kolonne, hvor den mellemliggende livrente blev registreret. Alle andre celler er placeret en i hver af kolonnerne, og de indeholder de mindste tal for en given kolonne, omgivet af cirkler. Omgivet af cirkler er to identiske tal i kolonnen, hvori den mellemliggende livrente blev opført i den foregående tabel.

Da antallet af celler, der skal udfyldes, i den nye tabel er større end antallet af kolonner, bør du ved udfyldning af cellerne bruge en særlig regel, som er som følger. Vælg en bestemt kolonne (række), hvor der er en celle med en cirkel markeret i den. Denne celle udfyldes, og denne kolonne (række) er udelukket fra overvejelse. Efter dette, tag en bestemt række (søjle), hvor der er en celle med en cirkel placeret i den. Denne celle er udfyldt, og denne række (kolonne) er udelukket fra overvejelse. Fortsætter man sådan, efter et begrænset antal trin, udfyldes alle de celler, hvori cirklerne med numrene er placeret. Hvis det derudover er muligt at fordele al den tilgængelige last på afgangsstederne mellem destinationspunkterne, så opnås en optimal plan for transportopgaven. Hvis den optimale plan ikke opnås, så går de videre til et nyt bord. For at gøre dette skal du finde overflødige og utilstrækkelige rækker, mellemleje og bygge en ny tabel baseret på dette. I dette tilfælde kan der opstå nogle vanskeligheder med at bestemme tegnet for en streng, når dens ikke-allokerede rest er nul. I dette tilfælde betragtes rækken som positiv, forudsat at den anden udfyldte celle, placeret i kolonnen, der er knyttet til denne række af en anden udfyldt celle, er placeret i den positive række.

Efter et begrænset antal iterationer beskrevet ovenfor, bliver den ikke-allokerede rest nul. Derved opnås en optimal plan for en given transportopgave.

Metoden til at løse transportproblemet beskrevet ovenfor har et enklere logisk beregningsskema end den potentielle metode. Derfor, i de fleste tilfælde, for at finde løsninger på specifikke transportproblemer ved hjælp af en computer, anvendes metoden med differentierede huslejer.

Et eksempel på løsning af et problem.

For transportproblemet, hvis indledende data er angivet i tabel. 1.2.1, find den optimale plan ved hjælp af differential annuitetsmetoden.

Tabel 1.2.1 Startdata for transportopgaven

Afgangssteder

Destinationer

Behov

Løsning. Lad os gå videre fra bordet. 1.2.1 til tabel. 1.2.2, tilføjelse af en ekstra kolonne for at angive overskud og mangel efter række og en række for at registrere de tilsvarende forskelle.

Tabel 1.2.2 Overskridelser og mangler

Afgangssteder

Destinationer

Fejl(-),

overskydende (+)

Behov

Forskelle

I hver kolonne i tabellen. 1.2.2 finder vi minimumstaksterne og ringer om dem. Udfyld de celler, der indeholder de angivne tal. For at gøre dette skal du skrive det maksimalt tilladte antal i hver celle. For eksempel, i cellen, der er placeret i skæringspunktet mellem række A1 og kolonne B3, skriver vi tallet 120. Et større tal kan ikke placeres i denne celle, da behovene for destination B3 i dette tilfælde ville blive overskredet.

Som et resultat af udfyldning af de ovennævnte celler blev der opnået en såkaldt betinget optimal plan, ifølge hvilken behovene for destinationer B1, B2, B3 og B4 er fuldt ud opfyldt, og behovene for destination B5 er delvist opfyldt. Samtidig er reserverne på afgangspunktet A2 fuldstændigt fordelt, reserverne på afgangspunktet A1 er delvist fordelt, og reserverne på afgangspunktet A3 forbliver helt udedelt.

Efter at have opnået en betinget optimal plan, bestemmer vi de overflødige og utilstrækkelige linjer. Her er linje A2 utilstrækkelig, da reserverne på afgangspunkt A2 er fuldt udnyttet, og behovene for destination B5 er delvist opfyldt. Mængden af ​​mangel er 80 enheder.

Linje A1 og A3 er overflødige, fordi beholdningen af ​​oprindelse A1 og A3 ikke er fuldt allokeret. I dette tilfælde er den overskydende værdi af linje A1 60 enheder, og linje A3 er 20 enheder. den samlede mængde af overskydende 60+20=80 falder sammen med den samlede mængde af mangel lig med 80.

Efter at have bestemt overskydende og utilstrækkelige rækker for hver af kolonnerne, finder vi forskellene mellem minimumtaksterne skrevet i de overskydende rækker og taksterne i de udfyldte celler. I I dette tilfælde disse forskelle er henholdsvis lig med 5,4,2,1 (tabel 1.2.2). For kolonne B3 er forskellen ikke defineret, da tallet skrevet i cirklen i denne kolonne er i den positive række. I kolonne B1 er tallet i cirklen 1, og i de overflødige rækker i cellerne i denne kolonne er det mindste tal 6. Derfor er forskellen for denne kolonne 6-1=5. På samme måde finder vi forskellene for andre kolonner: for B2 12-8 = 4; for B4 7-5=2; for B5 4-3=1.

Vi vælger den mindste af de fundne forskelle, som er mellemlejen. I dette tilfælde er mellemlejen lig med 1 og står i kolonne B5. Efter at have fundet mellemlejen går vi videre til bordet.

Tabel Mellemleje

Afgangssteder

Destinationer

Mangel(-), Overskud(+)

Behov

Forskelle

I denne tabel, i linje A1 og A3 (som er overflødige), omskriver vi de tilsvarende tariffer fra linje A1 og A3 i tabellen. 1.2.2. elementer af linje A2 (som var utilstrækkelige) opnås ved at tilføje til de tilsvarende tariffer placeret i linje A2 i tabellen. mellemliggende livrente, dvs. 1.

I tabellen er antallet af udfyldte celler steget med én. Dette skyldes, at antallet af minimumstakster i hver af kolonnerne i denne tabel er steget med én, nemlig i kolonne B5 er der nu to minimumselementer 4. Vi omslutter disse tal i cirkler; de celler, de står i, skal huskes. Det er også nødvendigt at udfylde de celler, der indeholder de laveste takster for andre kolonner. Disse er cellerne i tabellen. 1.2.3, hvor de tilsvarende takster er omgivet af cirkler. Efter at de specificerede celler er bestemt, fastlægger vi rækkefølgen for at fylde dem. For at gøre dette finder vi kolonner (rækker), hvor der kun er én celle at udfylde. Efter at have identificeret og udfyldt en bestemt celle, udelukker vi den tilsvarende kolonne (række) fra overvejelse og går videre til at udfylde den næste celle. I dette tilfælde udfylder vi cellerne i følgende rækkefølge. Først skal du udfylde cellerne A1B3, A2B1, A2B2, A2B4, da de er de eneste celler, der udfylder kolonne B1, B2, B3 og B4. Efter udfyldning af de angivne celler udfyldes celle A3B5, da det er den eneste, der skal udfyldes i linje A3. Efter at have udfyldt denne celle udelukker vi linje A3 fra overvejelse. Så i kolonne B5 vil der kun være én celle tilbage at udfylde. Dette er celle A2B5, som vi udfylder.

Efter at have fyldt cellerne, sætter vi de overflødige og utilstrækkelige linjer. Som det kan ses af tabel. 1.2.3, er der stadig en ufordelt saldo. Derfor er der opnået en betinget optimal plan for problemet, og vi skal videre til et nyt bord. For at gøre dette finder vi for hver af deres kolonner forskellene mellem tallet skrevet i cirklen af ​​denne kolonne og det mindste tal i forhold til det, placeret i de overflødige rækker. Blandt disse forskelle er den mindste 1. Dette er mellemlejen. Lad os gå videre til næste bord.

I den nye tabel fås elementerne i række A2 og A3 ved at tilføje tabellen til de tilsvarende antal af rækker A2 og A3 (som er utilstrækkelige). 1.2.3 mellemliggende livrente, dvs. 1. Som følge heraf i tabel. 1.2.4 antallet af celler til udfyldning steg med en mere og blev lig med 6. Vi bestemmer de angivne celler og udfylder dem. Først udfylder vi cellerne A1B3, A2B1, A2B2, A2B4 og derefter A3B5, A2B5, A1B5.

Som følge heraf fordeles alle tilgængelige forsyninger fra leverandører i overensstemmelse med destinationernes faktiske behov. Antallet af fyldte celler er 7, og de har den mindste vægt Cij. Derfor opnås den optimale plan for det oprindelige transportproblem:

Med denne transportplan er de samlede omkostninger:

S=4*120+5*60+1*110+8*90+5*80+3*70+4*20=2300.

2. Praktisk del

Opgaven. Lad der være n kandidater til at udføre disse job. At tildele kandidat i job j er forbundet med omkostninger Cij (i, j = 1,2,..., n). Det er påkrævet at finde udnævnelsen af ​​kandidater til alle job, der giver minimum samlede omkostninger, hver kandidat kan kun tildeles ét job, og hvert job kan kun besættes af én kandidat. De indledende data er vist i tabellen:

Tabel Startdata

input data:

n - antal kandidater og job, hele typen data

C (n, n) - omkostninger (gnidning), rigtig type data.

Produktion:

Smin - samlede omkostninger (rub.), reel datatype;

X (n, n) - jobkandidattildeling, heltalsdatatype.

2.1 Løsning af opgaven ved hjælp af matematik

Lad os bestemme referenceplanen for transportproblemet ved hjælp af minimumsomkostningsmetoden, idet der tages højde for, at hver kandidat kun kan tildeles ét job, og hvert job kun kan besættes af én kandidat.

Tabel 2.1.1 Basisplan med minimumsomkostningsmetoden

De samlede minimumsomkostninger vil være:

F=0*3+1*7+0*3+1*2+1*2+0*3+1*8=19

For at finde den optimale plan bruger vi den potentielle metode.

Lad os skabe et ligningssystem Ui+Vj =Cij for de udfyldte celler i transporttabellen og bestemme værdierne af Ui og Vj.

U1+V2=7U2=-1V2=7

14=U1+V4-C14=0+8-8=0

22=U2+V2-C22=-1+7-4=2

23=U2+V3-C23=-1+3-4=-2

24=U2+V4-C24=-1+8-5=2

31=U3+V1-C31=0+3-4=-1

32=U3+V2-C32=0+7-7=0

34=U3+V4-C34=0+8-8=0

41=U4+V1-C41=0+3-9=-6

42=U4+V2-C42=0+7-7=0

Da der er positive værdier, er planen ikke optimal. Du skal vælge den største positivt tal og udføre et cyklusskift for den valgte celle.

Tabel 2.1.3 Grundplan potentiel metode

U1+V3=3U2=-1V2=5

U2+V1=2U3=-1V3=3

Lad os beregne værdierne?ij=Ui+Vj-Cij for frie celler i tabellen.

12=U1+V2-C12=0+5-7=-2

14=U1+V4-C14=0+8-8=0

23=U2+V3-C23=-1+3-4=-2

24=U2+V4-C24=-1+8-5=2

31=U3+V1-C31=-1+3-4=-2

32=U3+V2-C32=-1+5-7=-3

34=U3+V4-C34=-1+8-8=-1

41=U4+V1-C41=0+3-9=-6

42=U4+V2-C42=0+5-7=-2

Da der er positive værdier, er planen ikke optimal. Det er nødvendigt at vælge det største positive tal og udføre et skift langs cyklussen. transportere differentiel livrente anvendt

Tabel 2.1.4 Optimal plan for løsning af problemet

Lad os tjekke den resulterende plan for optimalitet.

U2+V1=2U2=-1V2=5

Lad os beregne værdierne?ij=Ui+Vj-Cij for frie celler i tabellen.

12=U1+V2-C12=0+5-7=-2

13=U1+V3-C13=0+1-3=-2

14=U1+V4-C14=0+6-8=-2

23=U2+V3-C23=-1+1-4=-4

31=U3+V1-C31=1+3-4=0

32=U3+V2-C32=1+5-7=-1

34=U3+V4-C34=1+6-8=-1

41=U4+V1-C41=2+3-9=-4

42=U4+V2-C42=2+5-7=0

Så hvordan går det?<=0, то получен оптимальный план решения задачи.

De mindste samlede omkostninger ved løsning af problemet ved hjælp af den potentielle metode vil være:

F=1*3+0*2+1*4+1*2+0*3+1*8=17

Svar: For at opnå de samlede minimumsomkostninger er det nødvendigt at tildele kandidat A1 til job B1, kandidat A2 til job B2, kandidat A3 til job B3, kandidat A4 til job B4.

2.2 Løsning af problemet ved hjælp af applikationsprogrammer

Teknologi til udvikling af en formular til indtastning af indledende data ved hjælp af VBA

For at udvikle en formular til indtastning af kildedata skal du vise fanen "Udvikler" på MS Excel-båndet. For at gøre dette skal du vælge "Tilpas værktøjslinjen Hurtig adgang" fra Excel-systemmenuen, derefter "Generelt" og markere afkrydsningsfeltet "Vis udviklerfanen på båndet". Gå til denne fane og vælg Indsæt og derefter Knap. Vi placerer knappen på Excel-regnearket, i dialogboksen "Tildel makro til objekt", klikker du på knappen Opret og i vinduet, der åbnes, skal du indtaste UserForm1.Show for at gå til formularen. Gå til fanen "Udvikler", og klik på Visual Basic. For at oprette en formular skal du vælge Indsæt og derefter Brugerformular. Vi placerer alle de nødvendige komponenter på formularen.

Ris. Kildedataformular

Dernæst skal du dobbeltklikke på knappen Beregn, vælge den ønskede begivenhed og indtaste programkoden. Programoversigten er i appendiks B. Vi gemmer Excel-projektmappen med makrounderstøttelse, og når du åbner den, skal du altid klikke på Indstillinger og vælge "Inkluder dette indhold" der.

Beskrivelse af løsningsprocessen

På Excel-regnearket, i intervallet af celler fra A1 til D4, afhængigt af det valgte antal virksomheder, placeres de indledende data. De vil blive overført fra kildedataformularen. For eksempel, i celle A1 er data taget fra formcellen TextBox1, og i celle B2 er informationen fra TextBox2-cellen markeret. I cellerne i området fra A7 til D10 skriver vi de nuller, der er nødvendige for at finde den optimale løsning. For at løse problemet skal du skrive formlerne i de nødvendige celler:

E1 =A1*A7+B1*B7+C1*C7+D1*D7

E2 =A2*A8+B2*B8+C2*C8+D2*D8

E3 =A3*A9+B3*B9+C3*C9+D3*D9

E4 =A4*A10+B4*B10+C4*C10+D4*D10

E5= =SUM(E1:E4)

E7=SUM(A7:D7)

E8=SUM(A8:D8)

E9=SUM(A9:D9)

E10=SUM(A10:D10)

A11=SUM(A7:A10)

B11= =SUM(B7:B10)

C11= =SUM(C7:C10)

D11= =SUM(D7:D10)

E5=SUM(E1:E4)

For at løse yderligere skal du åbne fanen Data og vælge Søg efter løsninger. Indstil målcellen til $E$5 i dialogboksen, der åbnes. For at ændre celle, vælg $A$7:$D$10, indstil følgende begrænsninger: $A$11:$D$11=1; $A$7:$D$10 = binært; $E$7:$E$10 = 1.

Ris. Excel regneark

Klik derefter på Indstillinger og marker afkrydsningsfelterne for Lineær model og Ikke-negativ værdi. Klik efter alt på Udfør. Og i celle E5 vises minimumsomkostningerne.

Konklusion

Kursusprojektet rejste problemet med at danne det optimale personale i en virksomhed, grundlaget for dens relevans og betydning.

I den første del blev der overvejet teoretiske problemstillinger, der afslørede essensen af ​​problemet med kursusprojektet, og der blev givet eksempler på løsning af problemer af denne specificitet.

I anden del blev en matematisk model af problemet foreslået til kursusprojektet kompileret, dens løsning blev udført ved hjælp af matematiske værktøjer og principperne for brug af MS Excel 2007-applikationsprogrammet til indtastning af indledende data og beregning af hovedparametrene for specificeret model blev overvejet.

Litteratur

1. Mastyaeva, I.N. Forskning af operationer i økonomi / I.N. Mastyaeva, G.Ya. Gorbovtsov, O.N. Semenikhin. - Moscow International Institute of Econometrics, Informatics, Finance and Law, 2005. - 113 s.

2. Pavlova, T.N. Løsning af lineære programmeringsproblemer ved hjælp af Excel: en tutorial. / T.N. Pavlova, O.A. Rakova. - Dimitrovgrad: Tetra Systems, 2009. - 321 s.

3. Pelikh, A.S. Økonomiske og matematiske metoder og modeller i produktionsstyring / A.S. Pelikh, L.L. Terekhov, L.A. Terekhova. - Rostov n/d.: “Felix”, 2005. - 248 s.

4. Pogan, A.M. Delphi. Programmers vejledning / A.M. Muligt. - M.: Eksmo, 2006. - 480 s.: ill.

5. Fomin, G.P. Matematiske metoder og modeller i kommercielle aktiviteter: lærebog / G.P. Fomin. - 2. udg., revideret. og yderligere - M.: Finans og statistik, 2005. - 306 s.: ill.

6. Shikin, E.V. Matematiske metoder og modeller i ledelse: lærebog. / - 2. udg., revideret. - M.: Delo, 2002. - 440 s.

7. Shpak, Yu.A. Delphi 7 med eksempler / Yu. A. Shpak. - Juniorår, 2005.

Ansøgning

Excel-modulliste

Private Sub ComboBox1_Change()

Slut Sub

Hvis (ComboBox1.Text = "2") Så

UserForm2.TextBox3.Visible = Falsk

UserForm2.TextBox7.Visible = Falsk

UserForm2.TextBox9.Visible = Falsk

UserForm2.TextBox10.Visible = Falsk

UserForm2.TextBox11.Visible = Falsk

UserForm2.Label3.Visible = Falsk

UserForm2.Label7.Visible = Falsk

Afslut Hvis

Hvis (ComboBox1.Text = "3") Så

UserForm2.TextBox13.Visible = Falsk

UserForm2.TextBox14.Visible = Falsk

UserForm2.TextBox15.Visible = Falsk

UserForm2.TextBox16.Visible = Falsk

UserForm2.TextBox4.Visible = Falsk

UserForm2.TextBox8.Visible = Falsk

UserForm2.TextBox12.Visible = Falsk

UserForm2.TextBox16.Visible = Falsk

UserForm2.Label4.Visible = Falsk

UserForm2.Label8.Visible = Falsk

Afslut Hvis

UserForm2.Show

Slut Sub

Privat underbrugerform_Klik()

Slut Sub

Private Sub UserForm_Initialize()

ComboBox1.Text = "2"

ComboBox1.AddItem "2"

ComboBox1.AddItem "3"

ComboBox1.AddItem "4"

Slut Sub

Private Sub CommandButton1_Click()

If (UserForm1.ComboBox1.Text = "2") Then If (TextBox1.Text = "") Eller (TextBox2.Text = "") Eller (TextBox5.Text = "") Eller (TextBox6.Text = "") Then MsgBox "Udfyld alle felter"

Hvis (UserForm1.ComboBox1.Text = "3") Så

If (TextBox1.Text = "") Eller (TextBox2.Text = "") Eller (TextBox3.Text = "") Eller (TextBox5.Text = "") Eller (TextBox6.Text = "") Eller (TextBox7.Text = "") Eller (TextBox9.Text = "") Eller (TextBox10.Text = "") Eller (TextBox11.Text = "") Derefter MsgBox "Fyld alle felter"

Afslut Hvis

Hvis (UserForm1.ComboBox1.Text = "4") Så

If (TextBox1.Text = "") Eller (TextBox2.Text = "") Eller (TextBox3.Text = "") Eller (TextBox4.Text = "") Eller (TextBox5.Text = "") Eller (TextBox6.Text = "") Eller (TextBox7.Text = "") Eller (TextBox8.Text = "") Eller (TextBox9.Text = "") Eller (TextBox10.Text = "") Eller (TextBox11.Text = "") Eller (TextBox12.Text = "") Eller (TextBox13.Text = "") Eller (TextBox14.Text = "") Eller (TextBox15.Text = "") Eller (TextBox16.Text = "") Derefter MsgBox "Udfyld alle felter "

Afslut Hvis

Worksheets("Original Data").Range("A1") = TextBox1.Text

Worksheets("Original Data").Range("B1") = TextBox2.Text

Worksheets("Original Data").Range("C1") = TextBox3.Text

Arbejdsark("Original Data").Range("D1") = TextBox4.Text

Arbejdsark("Original Data").Range("A2") = TextBox5.Text

Arbejdsark("Original Data").Range("B2") = TextBox6.Text

Worksheets("SourceData").Range("C2") = TextBox7.Text

Worksheets("Original Data").Range("D2") = TextBox8.Text

Worksheets("Original Data").Range("A3") = TextBox9.Text

Worksheets("Original Data").Range("B3") = TextBox10.Text

Worksheets("Original Data").Range("C3") = TextBox11.Text

Worksheets("Original Data").Range("D3") = TextBox12.Text

Worksheets("Original Data").Range("A4") = TextBox13.Text

Worksheets("Original Data").Range("B4") = TextBox14.Text

Worksheets("Original Data").Range("C4") = TextBox15.Text

Worksheets("Original Data").Range("D4") = TextBox16.Text

UserForm2.TextBox1.Text = Ryd

UserForm2.TextBox2.Text = Ryd

UserForm2.TextBox3.Text = Ryd

UserForm2.TextBox4.Text = Ryd

UserForm2.TextBox5.Text = Ryd

UserForm2.TextBox6.Text = Ryd

UserForm2.TextBox7.Text = Ryd

UserForm2.TextBox8.Text = Ryd

UserForm2.TextBox9.Text = Ryd

UserForm2.TextBox10.Text = Ryd

UserForm2.TextBox11.Text = Ryd

UserForm2.TextBox12.Text = Ryd

UserForm2.TextBox13.Text = Ryd

UserForm2.TextBox14.Text = Ryd

UserForm2.TextBox15.Text = Ryd

UserForm2.TextBox16.Text = Ryd

Slut Sub

Privat funktion ValiderNumeric(strTekst som streng) _

Som boolesk

ValiderNumeric = CBool(strText = "" _

Eller strText = "-." _

Eller strText = "." _

Eller IsNumeric(strText))

Afslut funktion

Private Sub TextBox1_Change()

Hvis ikke ValiderNumeric(TextBox1.Text) Så

TextBox1.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox2_Change()

Hvis ikke ValiderNumeric(TextBox2.Text) Så

TextBox2.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox3_Change()

Hvis ikke ValiderNumeric(TextBox3.Text) Så

TextBox3.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox4_Change()

Hvis ikke ValidateNumeric(TextBox4.Text) Så

TextBox4.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox5_Change()

Hvis ikke ValiderNumeric(TextBox5.Text) Så

TextBox5.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox6_Change()

Hvis ikke ValiderNumeric(TextBox6.Text) Så

TextBox6.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox7_Change()

Hvis ikke ValiderNumeric(TextBox7.Text) Så

TextBox7.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox8_Change()

Hvis ikke ValiderNumeric(TextBox8.Text) Så

TextBox8.Text = ""

Afslut Hvis

Slut Sub

Privat undertekstboks9_Change()

Hvis ikke ValiderNumeric(TextBox9.Text) Så

TextBox9.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox10_Change()

Hvis ikke ValiderNumeric(TextBox10.Text) Så

TextBox10.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox11_Change()

Hvis ikke ValiderNumeric(TextBox11.Text) Så

TextBox11.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox12_Change()

Hvis ikke ValiderNumeric(TextBox12.Text) Så

TextBox12.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox13_Change()

Hvis ikke ValiderNumeric(TextBox13.Text) Så

TextBox13.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox14_Change()

Hvis ikke ValiderNumeric(TextBox14.Text) Så

TextBox14.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox15_Change()

Hvis ikke ValiderNumeric(TextBox15.Text) Så

TextBox15.Text = ""

Afslut Hvis

Slut Sub

Private Sub TextBox16_Change()

Hvis ikke ValiderNumeric(TextBox16.Text) Så

Udgivet på Allbest.ru

Lignende dokumenter

    Huslejetyper, kilder til deres dannelse, begrebet jordleje. Metoder til at tilegne huslejer i forhold til statens ejerskab af jord og udvikling af markedsforhold. Principper og økonomisk mekanisme for statslig regulering af jordforhold.

    kursusarbejde, tilføjet 24/12/2009

    Matematisk model af transportproblemet. Nødvendig og tilstrækkelig betingelse for transportproblemets løselighed. Begrebet potentiale og cyklus. Metoder til at konstruere en indledende referenceløsning. Analyse af anvendelsen af ​​transportproblemer til at løse økonomiske problemer.

    kursusarbejde, tilføjet 02/03/2016

    Statistisk undersøgelse og metoder til beregning af indikatorer for mængden af ​​produktion af varer og tjenesteydelser. Analyse af afhængigheden af ​​antallet af forbrydelser af antallet af arbejdsløse i den centrale region i Rusland ved hjælp af en pakke af applikationsprogrammer til behandling af regneark.

    kursusarbejde, tilføjet 19/03/2010

    Forbehandling af statistiske data af finansielle og økonomiske indikatorer ved hjælp af en todimensionel korrelationsanalysemodel. Forecasting af finansielle og økonomiske indikatorer baseret på en kvalitativ vurdering af en lineær regressionsmodel.

    laboratoriearbejde, tilføjet 24.11.2010

    Undersøgelse af koncept og huslejetyper. Pris på jord. Kilder til lejedannelse. Økonomisk mekanisme til regulering af jordforhold. Bevilling af leje i forhold til markedsforhold. Status, problemer og udsigter for yderligere udvikling af jordmarkedet i Den Russiske Føderation.

    kursusarbejde, tilføjet 20/03/2016

    Forbedring af virksomhedens strukturpolitik og indkomstpolitik. Studerer økonomiske systemer. Skema til at konstruere en økonomisk model. Generelt tilfælde af et optimeringsproblem. Konvertering af et begrænset optimeringsproblem til et ubegrænset optimeringsproblem.

    kursusarbejde, tilføjet 19.11.2012

    Stadier af udvikling af en produktions- og økonomisk plan for en virksomhed for året ved hjælp af den forventede mængde transportarbejde, data om typen af ​​last og betingelser for transportprocessen. Vurdering af arbejdseffektivitet baseret på beregninger.

    kursusarbejde, tilføjet 01/04/2012

    Teoretiske aspekter af jordforhold i Rusland: traditioner, problemer, søgninger efter effektive ledelsesformer. Efterspørgsel og udbud af jord. Hovedtyper af livrenter. Processen med dannelse af differentiel og absolut leje. Søg efter effektive ledelsesformer.

    kursusarbejde, tilføjet 06/09/2014

    Jord som genstand for leje og salg. Essensen af ​​konceptet og typer af "leje". Koncept, emner og satser for grundskat, funktioner i dens funktion. Grundejerskab i Den Russiske Føderation og lejevurdering under markedsforhold.

    kursusarbejde, tilføjet 14/03/2015

    Udlandets erfaringer med spørgsmålet om offentlig-private partnerskaber i forskellige sektorer af økonomien analyseres. Modeller for statslig indflydelse på udviklingen af ​​transportindustrien. Formerne for samspil mellem stat og erhvervsliv i transportbranchen fastlægges.

Hvis man ved fastlæggelsen af ​​den optimale plan for et transportproblem ved hjælp af den potentielle metode først fandt en grundplan, og derefter blev den konsekvent forbedret, så er en del af lasten, når man finder en løsning på et transportproblem ved hjælp af metoden med differentialleje. er først fordelt mellem destinationer på bedst mulig måde (den såkaldte betinget optimal fordeling) og i efterfølgende iterationer gradvist reducere den samlede mængde af ikke-allokerede forsyninger. Den indledende belastningsfordelingsmulighed bestemmes som følger. I hver af kolonnerne i datatabellen for transportopgaven findes minimumstariffen. De fundne tal er omgivet af cirkler, og cellerne med de angivne tal er udfyldt. De maksimalt mulige tal er skrevet i dem. Som følge heraf opnås en vis fordeling af godsleverancer til destinationer. Denne fordeling opfylder generelt ikke begrænsningerne i det oprindelige transportproblem. Derfor bør de næste skridt være gradvist at reducere ikke-allokerede lastforsyninger, så de samlede transportomkostninger forbliver minimale. For at gøre dette skal du først bestemme de overflødige og utilstrækkelige rækker.

Linjer, der svarer til leverandører, hvis beholdning er fuldt allokeret, og hvis efterspørgsel fra de destinationer, der er knyttet til disse kunders planlagte forsendelser, ikke er opfyldt, anses for utilstrækkelige. Disse linjer kaldes nogle gange også negative linjer. Linjer, der ikke er helt opbrugte, betragtes som overskud. Nogle gange kaldes de også positive.

Efter at de overskydende og utilstrækkelige rækker er bestemt, findes forskellene for hver af kolonnerne mellem tallet i cirklen og den nærmeste takst skrevet i den overskydende række. Hvis tallet i cirklen er i den positive linje, er forskellen ikke bestemt. Find det mindste blandt de opnåede tal. Dette nummer kaldes mellemleje. Efter at have fastsat den mellemliggende annuitet, går de videre til et nyt bord. Denne tabel er hentet fra den foregående tabel ved at tilføje mellemleje til de tilsvarende tariffer i negative rækker. De resterende elementer forbliver de samme. I dette tilfælde betragtes alle celler i den nye tabel som frie. Efter at have konstrueret en ny tabel, begynder dens celler at blive udfyldt. Nu er antallet af udfyldte celler en mere end i det foregående trin. Denne ekstra celle er i den kolonne, hvor den mellemliggende livrente blev registreret. Alle andre celler er placeret en i hver af kolonnerne, og de indeholder de mindste tal for en given kolonne, omgivet af cirkler. Omgivet af cirkler er to identiske tal i kolonnen, hvori den mellemliggende livrente blev opført i den foregående tabel.


Da antallet af celler, der skal udfyldes, i den nye tabel er større end antallet af kolonner, bør du ved udfyldning af cellerne bruge en særlig regel, som er som følger. Vælg en bestemt kolonne (række), hvori der er en celle med en cirkel placeret i den. Denne celle udfyldes, og denne kolonne (række) er udelukket fra overvejelse. Efter dette, tag en bestemt række (søjle), hvor der er en celle med en cirkel placeret i den. Denne celle er udfyldt, og denne række (kolonne) er udelukket fra overvejelse. Fortsætter man sådan, efter et begrænset antal trin, udfyldes alle de celler, hvori cirklerne med numrene er placeret. Hvis det derudover er muligt at fordele al den tilgængelige last på afgangsstederne mellem destinationspunkterne, så opnås en optimal plan for transportopgaven. Hvis den optimale plan ikke opnås, så går de videre til et nyt bord. For at gøre dette skal du finde overflødige og utilstrækkelige rækker, mellemleje og bygge en ny tabel baseret på dette. I dette tilfælde kan der opstå nogle vanskeligheder med at bestemme tegnet for en streng, når dens ikke-allokerede rest er nul. I dette tilfælde betragtes rækken som positiv, forudsat at den anden udfyldte celle, placeret i kolonnen, der er knyttet til denne række af en anden udfyldt celle, er placeret i den positive række.

Efter et begrænset antal iterationer beskrevet ovenfor, bliver den ikke-allokerede rest nul. Derved opnås en optimal plan for en given transportopgave.

Den ovenfor beskrevne metode til at løse transportproblemet har en enklere logisk kredsløb beregninger end den potentielle metode beskrevet ovenfor. Derfor, i de fleste tilfælde, for at finde løsninger på specifikke transportproblemer ved hjælp af en computer, anvendes metoden med differentierede huslejer.

5.6 Fastlæggelse af den optimale plan for transportproblemer, der har nogle komplikationer i deres formulering.

Når man skal finde en løsning på en række specifikke transportproblemer, er det ofte nødvendigt at tage højde for yderligere begrænsninger, som ikke er stødt på ovenfor, når man overvejer simple versioner af disse problemer. Lad os dvæle mere detaljeret ved nogle mulige komplikationer i formuleringen af ​​transportproblemer.

1. Under nogle reelle forhold for godstransport fra et bestemt udgangspunkt , til din destination , ikke kan gennemføres. For at fastlægge optimale planer for sådanne problemer antages det, at taksten for transport af en lastenhed fra punkt til punkt , er vilkårligt stor M, og under denne betingelse findes en løsning på et nyt transportproblem ved anvendelse af kendte metoder. Med denne antagelse er muligheden for at transportere gods fra punkt til punkt udelukket under den optimale plan for transportopgaven. . Denne tilgang til at finde en løsning på et transportproblem kaldes transportforbud eller blokering den tilsvarende celle i opgavedatatabellen.

2. I visse transportopgaver er en yderligere betingelse at sikre transport af en vis mængde gods ad de relevante ruter. Lad, for eksempel, fra afgangsstedet til bestemmelsesstedet er det nødvendigt at overføre enheder af last. Derefter skrives det angivne nummer ind i cellen i datatabellen for transportopgaven, placeret i skæringspunktet mellem rækken og kolonnen, og i fremtiden betragtes denne celle som fri med en vilkårligt stor transporttakst M. For det på denne måde opnåede nye transportproblem findes en optimal plan, som fastlægger den optimale plan for det oprindelige problem.

3. Nogle gange er det nødvendigt at finde en løsning på et transportproblem, hvor mindst en given mængde gods skal leveres fra afgangsstedet til destinationen. For at bestemme den optimale plan for et sådant problem, anses det for, at varens reserver og varens behov er mindre end de faktiske efter enheder. Herefter findes den optimale plan for det nye transportproblem, ud fra hvilken løsningen på det oprindelige problem fastlægges.

4. I nogle transportproblemer er det nødvendigt at finde den optimale transportplan, forudsat at der ikke transporteres mere end lastenheder fra afgangsstedet til destinationen, dvs.

Det formulerede problem kan løses som følger. I tabellen med indledende opgavedata er der for hver begrænsning (1) tilvejebragt en yderligere kolonne, dvs. en yderligere destination er indtastet. Denne kolonne registrerer de samme takster som i kolonnen, med undtagelse af taksten placeret i th række. I den ekstra kolonne i denne linje anses taksten for at være lig med et eller andet vilkårligt stort antal. I dette tilfælde anses punktets behov for lige, og behovene for den nyligt indførte destination betragtes som lige. Løsningen på det resulterende transportproblem kan findes ved hjælp af potentialernes metode, og derved vil den optimale plan blive fastlagt eller uløseligheden af ​​det oprindelige problem etableres. Bemærk, at det oprindelige transportproblem kun kan løses, hvis der er mindst én referenceplan for det.

Ovenstående problem kan løses på denne måde. Under hensyntagen til begrænsning (1) konstrueres en referenceplan ved hjælp af minimumselementreglen. Ydermere, hvis værdien af ​​tallet skrevet på dette trin i den tilsvarende celle kun bestemmes af begrænsning (1), er det efterfølgende kun den udfyldte celle, der udelukkes fra overvejelse. I andre tilfælde fra overvejelser udelukker enten en række eller en kolonne (enten den ene eller den anden).

Såfremt alle disponible beholdninger af afgangssteder som følge af udarbejdelse af en forsyningsplan fordeles, og behovene på destinationspunkter er opfyldt, så opnås en basisplan for transportopgaven.

Hvis der i en række (og derfor i en kolonne) er en ikke-allokeret saldo lig med , derefter indføres en ekstra destination og et ekstra afgangssted med krav og forsyninger svarende til . I cellen, der er placeret ved skæringspunktet mellem kolonnen for den ekstra destination og rækken af ​​det ekstra afgangspunkt, anses taksten for at være lig nul. I alle andre celler i en given række og kolonne antages tariffer at være lig med et vilkårligt stort antal M. Det resulterende transportproblem løses ved den potentielle metode. Efter et begrænset antal trin fastslås det enten, at det oprindelige problem ikke har en referenceplan, eller også findes dets optimale plan. Hvori optimal plan for det oprindelige problem, hvis