diff --git a/NotProgramming/MOM/.report_one.tex.swp b/NotProgramming/MOM/.report_one.tex.swp new file mode 100644 index 00000000..4a61c7c2 --- /dev/null +++ b/NotProgramming/MOM/.report_one.tex.swp @@ -0,0 +1,141 @@ +\documentclass[12pt]{article} +\usepackage[polish]{babel} +\usepackage{float} +\usepackage[utf8]{inputenc} +\usepackage{amsmath} +\usepackage{pdfpages} +\usepackage[T1]{fontenc} % Add this line + \title{Sprawozdanie z projektu MOM} + \author{Krzysztof Rudnicki, 307585} + \date{\today} +\begin{document} + +\maketitle +\section{Zadanie 1. Sieć przepływowa} + +\subsection{Model sieciowy} +\paragraph{Problem do rozwiązania} +Należy rozwiązać problem najtańszego przepływu \\ +\begin{figure}[htb] +\caption{Koszty transportowe i przepustowości na poszczególnych odcinkach} +\begin{center} +\begin{tabular}{ | c | c | c | c | c | c | } +\hline + & D & E & F & G & H \\ + \hline + A & 4, 15 & 2, 10 & - & - & -\\ + \hline + B & 4, 4 & 3, 9 & - & 8, 9 & - \\ + \hline + C & 2, 20 & 6, 10 & - & - & - \\ + \hline + D & - & - & 3, 10 & 7, 3 & 2, 2 \\ + \hline + E & 5, 20 & - & 7, 5 & 6, 5 & 3, 5 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\begin{figure}[htb] +\caption{Zdolności wydobywcze kopalń (w tys. ton)} +\begin{center} +\begin{tabular}{ | c | c |} +\hline + $W_A$ & 10 \\ + \hline +$W_B$ & 13 \\ + \hline + $W_C$ & 17 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\begin{figure}[htb] +\caption{Średnie zużycie dobowe węgla przez elektronie (w tys. ton)} +\begin{center} +\begin{tabular}{ | c | c |} +\hline + $Z_F$ & 15 \\ + \hline +$Z_G$ & 13 \\ + \hline + $Z_H$ & 7 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\paragraph{Sformułowanie} +Matematyczne sformułowanie zadania: +\begin{enumerate} +\item Parametry \\ +s - źródło \\ +B - Budynki (kopalnie, stacje, elektrownie) \\ +K - kopalnie \\ +$c_{ij}$ - koszt transportu z budynku i do budynku j ($c_{sk}$ = 0) \\ +$W_k$ - zdolność wydobywcza kopalni k [w tonach] \\ +$p_{ij}$ - przepustowość transportu z budynku i do budynku j [w tonach] ($u_{sk}$ = $W_k$) \\ +E - elektrownie \\ +$Z_e$ - średnie zużycie dobowe przez elektrownię e [w tonach] \\ +\item Zmienne decyzyjne +$f_{ij}$ - przepływ transportu z budynku i do obiektu j \\ +\item Funkcja celu +\begin{align*} + Q &= \min\left(\sum_{(i, j) \in B \backslash \{s\}} c_{ij} f_{ij}\right) \\ + &= \min(4f_{AD} + 2f_{AE} + 4f_{BD} + 3f_{BE} + 8f_{BG} + 2f_{CD} \\ + &\quad + 6f_{CE} + 3f_{DF} + 7f_{DG} + 2f_{DH} + 5f_{ED} + 7f_{EF} \\ + &\quad + 6f_{EG} + 3f_{EH}) +\end{align*} + +\item Ograniczenia +\begin{equation} + 0 \leq f_{sk} \leq W_k, \; k \in K = \{A, B, C\} +\end{equation} +\begin{equation} + f_{si} = 0, \; i \in B \backslash K +\end{equation} +\begin{equation} + f_{is} = 0, \; i \in B +\end{equation} +\begin{equation} + 0 \leq f_{ij} \leq p_{uj}, \; (i, j) \in B \backslash \{s\} +\end{equation} +\begin{equation} + f_{is} = 0, \; i \in B +\end{equation} +\begin{equation} + \sum_{b \in B} f_{be} \ge Z_e, \; e \in E = \{F, G, H\} +\end{equation} +\begin{equation} + \sum_{i \in B \backslash \{ s \} } f_{bi} \leq \sum_{j \in B} f_{bn}, \; b \in B \backslash \{s\} +\end{equation} + +\end{enumerate} +\paragraph{Narysowanie modelu} +\includepdf[pages=-]{1flow.pdf} + +\subsection{Rozwiązanie}Z +\paragraph{Metoda } + + +\subsection{Zadanie programowania liniowego} + +\section{Zadanie 2. Zadanie przydziału} +\subsection{Zadanie 2.1 Planowanie realizacji portfela przy ograniczonych kompetencjach} +\paragraph{Model sieciowy rysunek} +\subsubsection{Problem do rozwiązania} +\paragraph{Rozwiazanie} +\paragraph{Przydział zespołów do projektów} +\subsection{Zadanie 2.2 Minimalizacja kosztów realizacji projektów} +\paragraph{Model sieciowy rysunek} +\paragraph{Problem do rozwiązania} +\paragraph{Rozwiazanie} +\subsection{Zadanie 2.3 Minimalizacja terminu realizacji puli projektów} +\paragraph{Model programowania liniowego} + + + +\section{Zadanie 3} +\paragraph{Model programowania liniowego} + +\end{document} + diff --git a/NotProgramming/MOM/1flow.pdf b/NotProgramming/MOM/1flow.pdf new file mode 100644 index 00000000..c98c3298 Binary files /dev/null and b/NotProgramming/MOM/1flow.pdf differ diff --git a/NotProgramming/MOM/1glpk b/NotProgramming/MOM/1glpk new file mode 100644 index 00000000..a31f3fd2 --- /dev/null +++ b/NotProgramming/MOM/1glpk @@ -0,0 +1,49 @@ +set StartObiekty; +set Obiekty; +set Elektrownie; + +param c{i in StartObiekty, j in Obiekty}; +param u{i in StartObiekty, j in Obiekty}; +param Z{p in Elektrownie}; + +var f{i in StartObiekty, j in Obiekty}, >= 0; + +minimize Q: sum {i in Obiekty, j in Obiekty} c[i,j] * f[i,j]; + +subject to + Ogr_1{i in StartObiekty, j in Obiekty}: + f[i,j] >= 0; + Ogr_2{i in StartObiekty, j in Obiekty}: + f[i,j] <= u[i,j]; + Ogr_3{p in Elektrownie}: + sum {n in StartObiekty} f[n,p] >= Z[p]; + Ogr_4{n in Obiekty}: + sum {i in Obiekty} f[n,i] <= sum {j in StartObiekty} f[j,n]; + +solve; +display {i in Obiekty, j in Obiekty: f[i,j] > 0}: f[i,j]; +data; + +set StartObiekty := s, A, B, C, D, E, F, G, H; +set Obiekty := A, B, C, D, E, F, G, H; +set Elektrownie := F, G, H; + +param c := +s A 0 s B 0 s C 0 A D 3 B D 6 B E 2 C D 4 C H 5 D E 3 D F 5 D G 7 D H 3 +E D 3 E F 2 E G 4 s D 0 s E 0 s F 0 s G 0 s H 0 A A 0 A B 0 A C 0 A E 0 +A F 0 A G 0 A H 0 B A 0 B B 0 B C 0 B F 0 B G 0 B H 0 C A 0 C B 0 C C 0 +C E 0 C F 0 C G 0 D A 0 D B 0 D C 0 D D 0 E A 0 E B 0 E C 0 E E 0 E H 0 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 G A 0 G B 0 G C 0 G D 0 +G E 0 G F 0 G G 0 G H 0 H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param u := +s A 10 s B 13 s C 17 A D 9 B D 5 B E 13 C D 6 C H 7 D E 15 D F 11 D G 7 D H 4 +E D 15 E F 10 E G 14 s D 0 s E 0 s F 0 s G 0 s H 0 A A 0 A B 0 A C 0 A E 0 +A F 0 A G 0 A H 0 B A 0 B B 0 B C 0 B F 0 B G 0 B H 0 C A 0 C B 0 C C 0 +C E 0 C F 0 C G 0 D A 0 D B 0 D C 0 D D 0 E A 0 E B 0 E C 0 E E 0 E H 0 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 G A 0 G B 0 G C 0 G D 0 +G E 0 G F 0 G G 0 G H 0 H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param Z := F 15 G 12 H 8; + +end; \ No newline at end of file diff --git a/NotProgramming/MOM/1glpk.dat b/NotProgramming/MOM/1glpk.dat new file mode 100644 index 00000000..2af0d71f --- /dev/null +++ b/NotProgramming/MOM/1glpk.dat @@ -0,0 +1,31 @@ +data; + +set BudynkiNaStart := s, A, B, C, D, E, F, G, H; +set Budynki := A, B, C, D, E, F, G, H; +set Elektrownie := F, G, H; + +param c := +s A 0 s B 0 s C 0 s D 0 s E 0 s F 0 s G 0 s H 0 +A A 0 A B 0 A C 0 A D 4 A E 2 A F 0 A G 0 A H 0 +B A 0 B B 0 B C 0 B D 4 B E 3 B F 0 B G 8 B H 0 +C A 0 C B 0 C C 0 C D 2 C E 6 C F 0 C G 0 C H 0 +D A 0 D B 0 D C 0 D D 0 D E 0 D F 3 D G 7 D H 2 +E A 0 E B 0 E C 0 E D 5 E E 0 E F 7 E G 6 E H 3 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 +G A 0 G B 0 G C 0 G D 0 G E 0 G F 0 G G 0 G H 0 +H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param p := +s A 10 s B 13 s C 17 s D 0 s E 0 s F 0 s G 0 s H 0 +A A 0 A B 0 A C 0 A D 15 A E 10 A F 0 A G 0 A H 0 +B A 0 B B 0 B C 0 B D 4 B E 9 B F 0 B G 9 B H 0 +C A 0 C B 0 C C 0 C D 20 C E 10 C F 0 C G 0 C H 0 +D A 0 D B 0 D C 0 D D 0 D E 0 D F 10 D G 3 D H 2 +E A 0 E B 0 E C 0 E D 20 E E 0 E F 5 E G 5 E H 5 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 +G A 0 G B 0 G C 0 G D 0 G E 0 G F 0 G G 0 G H 0 +H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param Z := F 15 G 13 H 7; + +end; \ No newline at end of file diff --git a/NotProgramming/MOM/1glpk.glp b/NotProgramming/MOM/1glpk.glp new file mode 100644 index 00000000..d28839ec --- /dev/null +++ b/NotProgramming/MOM/1glpk.glp @@ -0,0 +1,24 @@ +set BudynkiNaStart; +set Budynki; +set Elektrownie; + +param c{i in BudynkiNaStart, j in Budynki}; +param u{i in BudynkiNaStart, j in Budynki}; +param Z{e in Elektrownie}; + +var f{i in BudynkiNaStart, j in Budynki}, >= 0; + +minimize Q: sum {i in Budynki, j in Budynki} c[i,j] * f[i,j]; + +subject to + Ogr_1{i in BudynkiNaStart, j in Budynki}: + f[i,j] >= 0; + Ogr_2{i in BudynkiNaStart, j in Budynki}: + f[i,j] <= u[i,j]; + Ogr_3{e in Elektrownie}: + sum {n in BudynkiNaStart} f[n,e] >= Z[e]; + Ogr_4{n in Budynki}: + sum {i in Budynki} f[n,i] <= sum {j in BudynkiNaStart} f[j,n]; + +solve; +display {i in Budynki, j in Budynki: f[i,j] > 0}: f[i,j]; diff --git a/NotProgramming/MOM/1glpk.glpk b/NotProgramming/MOM/1glpk.glpk new file mode 100644 index 00000000..a31f3fd2 --- /dev/null +++ b/NotProgramming/MOM/1glpk.glpk @@ -0,0 +1,49 @@ +set StartObiekty; +set Obiekty; +set Elektrownie; + +param c{i in StartObiekty, j in Obiekty}; +param u{i in StartObiekty, j in Obiekty}; +param Z{p in Elektrownie}; + +var f{i in StartObiekty, j in Obiekty}, >= 0; + +minimize Q: sum {i in Obiekty, j in Obiekty} c[i,j] * f[i,j]; + +subject to + Ogr_1{i in StartObiekty, j in Obiekty}: + f[i,j] >= 0; + Ogr_2{i in StartObiekty, j in Obiekty}: + f[i,j] <= u[i,j]; + Ogr_3{p in Elektrownie}: + sum {n in StartObiekty} f[n,p] >= Z[p]; + Ogr_4{n in Obiekty}: + sum {i in Obiekty} f[n,i] <= sum {j in StartObiekty} f[j,n]; + +solve; +display {i in Obiekty, j in Obiekty: f[i,j] > 0}: f[i,j]; +data; + +set StartObiekty := s, A, B, C, D, E, F, G, H; +set Obiekty := A, B, C, D, E, F, G, H; +set Elektrownie := F, G, H; + +param c := +s A 0 s B 0 s C 0 A D 3 B D 6 B E 2 C D 4 C H 5 D E 3 D F 5 D G 7 D H 3 +E D 3 E F 2 E G 4 s D 0 s E 0 s F 0 s G 0 s H 0 A A 0 A B 0 A C 0 A E 0 +A F 0 A G 0 A H 0 B A 0 B B 0 B C 0 B F 0 B G 0 B H 0 C A 0 C B 0 C C 0 +C E 0 C F 0 C G 0 D A 0 D B 0 D C 0 D D 0 E A 0 E B 0 E C 0 E E 0 E H 0 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 G A 0 G B 0 G C 0 G D 0 +G E 0 G F 0 G G 0 G H 0 H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param u := +s A 10 s B 13 s C 17 A D 9 B D 5 B E 13 C D 6 C H 7 D E 15 D F 11 D G 7 D H 4 +E D 15 E F 10 E G 14 s D 0 s E 0 s F 0 s G 0 s H 0 A A 0 A B 0 A C 0 A E 0 +A F 0 A G 0 A H 0 B A 0 B B 0 B C 0 B F 0 B G 0 B H 0 C A 0 C B 0 C C 0 +C E 0 C F 0 C G 0 D A 0 D B 0 D C 0 D D 0 E A 0 E B 0 E C 0 E E 0 E H 0 +F A 0 F B 0 F C 0 F D 0 F E 0 F F 0 F G 0 F H 0 G A 0 G B 0 G C 0 G D 0 +G E 0 G F 0 G G 0 G H 0 H A 0 H B 0 H C 0 H D 0 H E 0 H F 0 H G 0 H H 0; + +param Z := F 15 G 12 H 8; + +end; \ No newline at end of file diff --git a/NotProgramming/MOM/1glpk.mod b/NotProgramming/MOM/1glpk.mod new file mode 100644 index 00000000..5e9270b5 --- /dev/null +++ b/NotProgramming/MOM/1glpk.mod @@ -0,0 +1,24 @@ +set BudynkiNaStart; +set Budynki; +set Elektrownie; + +param c{i in BudynkiNaStart, j in Budynki}; +param p{i in BudynkiNaStart, j in Budynki}; +param Z{e in Elektrownie}; + +var f{i in BudynkiNaStart, j in Budynki}, >= 0; + +minimize Q: sum {i in Budynki, j in Budynki} c[i,j] * f[i,j]; + +subject to + Ograniczenie_1{i in BudynkiNaStart, j in Budynki}: + f[i,j] >= 0; + Ograniczenie_2{i in BudynkiNaStart, j in Budynki}: + f[i,j] <= p[i,j]; + Ograniczenie_3{e in Elektrownie}: + sum {n in BudynkiNaStart} f[n,e] >= Z[e]; + Ograniczenie_4{n in Budynki}: + sum {i in Budynki} f[n,i] <= sum {j in BudynkiNaStart} f[j,n]; + +solve; +display {i in Budynki, j in Budynki: f[i,j] > 0}: f[i,j]; \ No newline at end of file diff --git a/NotProgramming/MOM/MOM_proj_1.3.pdf b/NotProgramming/MOM/MOM_proj_1.3.pdf new file mode 100644 index 00000000..eeac27e2 Binary files /dev/null and b/NotProgramming/MOM/MOM_proj_1.3.pdf differ diff --git a/NotProgramming/MOM/graphs b/NotProgramming/MOM/graphs new file mode 100644 index 00000000..3a60d36d --- /dev/null +++ b/NotProgramming/MOM/graphs @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NotProgramming/MOM/report_one.tex b/NotProgramming/MOM/report_one.tex index 9237307d..4a61c7c2 100644 --- a/NotProgramming/MOM/report_one.tex +++ b/NotProgramming/MOM/report_one.tex @@ -1,6 +1,10 @@ \documentclass[12pt]{article} \usepackage[polish]{babel} +\usepackage{float} \usepackage[utf8]{inputenc} +\usepackage{amsmath} +\usepackage{pdfpages} +\usepackage[T1]{fontenc} % Add this line \title{Sprawozdanie z projektu MOM} \author{Krzysztof Rudnicki, 307585} \date{\today} @@ -8,12 +12,108 @@ \maketitle \section{Zadanie 1. Sieć przepływowa} -\subsection{Model sieciowy} -\paragraph{Sformułowanie} -\paragraph{Narysowanie modelu} -\paragraph{Problem do rozwiązania} -\subsection{Rozwiązanie} +\subsection{Model sieciowy} +\paragraph{Problem do rozwiązania} +Należy rozwiązać problem najtańszego przepływu \\ +\begin{figure}[htb] +\caption{Koszty transportowe i przepustowości na poszczególnych odcinkach} +\begin{center} +\begin{tabular}{ | c | c | c | c | c | c | } +\hline + & D & E & F & G & H \\ + \hline + A & 4, 15 & 2, 10 & - & - & -\\ + \hline + B & 4, 4 & 3, 9 & - & 8, 9 & - \\ + \hline + C & 2, 20 & 6, 10 & - & - & - \\ + \hline + D & - & - & 3, 10 & 7, 3 & 2, 2 \\ + \hline + E & 5, 20 & - & 7, 5 & 6, 5 & 3, 5 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\begin{figure}[htb] +\caption{Zdolności wydobywcze kopalń (w tys. ton)} +\begin{center} +\begin{tabular}{ | c | c |} +\hline + $W_A$ & 10 \\ + \hline +$W_B$ & 13 \\ + \hline + $W_C$ & 17 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\begin{figure}[htb] +\caption{Średnie zużycie dobowe węgla przez elektronie (w tys. ton)} +\begin{center} +\begin{tabular}{ | c | c |} +\hline + $Z_F$ & 15 \\ + \hline +$Z_G$ & 13 \\ + \hline + $Z_H$ & 7 \\ + \hline +\end{tabular} +\end{center} +\end{figure} +\paragraph{Sformułowanie} +Matematyczne sformułowanie zadania: +\begin{enumerate} +\item Parametry \\ +s - źródło \\ +B - Budynki (kopalnie, stacje, elektrownie) \\ +K - kopalnie \\ +$c_{ij}$ - koszt transportu z budynku i do budynku j ($c_{sk}$ = 0) \\ +$W_k$ - zdolność wydobywcza kopalni k [w tonach] \\ +$p_{ij}$ - przepustowość transportu z budynku i do budynku j [w tonach] ($u_{sk}$ = $W_k$) \\ +E - elektrownie \\ +$Z_e$ - średnie zużycie dobowe przez elektrownię e [w tonach] \\ +\item Zmienne decyzyjne +$f_{ij}$ - przepływ transportu z budynku i do obiektu j \\ +\item Funkcja celu +\begin{align*} + Q &= \min\left(\sum_{(i, j) \in B \backslash \{s\}} c_{ij} f_{ij}\right) \\ + &= \min(4f_{AD} + 2f_{AE} + 4f_{BD} + 3f_{BE} + 8f_{BG} + 2f_{CD} \\ + &\quad + 6f_{CE} + 3f_{DF} + 7f_{DG} + 2f_{DH} + 5f_{ED} + 7f_{EF} \\ + &\quad + 6f_{EG} + 3f_{EH}) +\end{align*} + +\item Ograniczenia +\begin{equation} + 0 \leq f_{sk} \leq W_k, \; k \in K = \{A, B, C\} +\end{equation} +\begin{equation} + f_{si} = 0, \; i \in B \backslash K +\end{equation} +\begin{equation} + f_{is} = 0, \; i \in B +\end{equation} +\begin{equation} + 0 \leq f_{ij} \leq p_{uj}, \; (i, j) \in B \backslash \{s\} +\end{equation} +\begin{equation} + f_{is} = 0, \; i \in B +\end{equation} +\begin{equation} + \sum_{b \in B} f_{be} \ge Z_e, \; e \in E = \{F, G, H\} +\end{equation} +\begin{equation} + \sum_{i \in B \backslash \{ s \} } f_{bi} \leq \sum_{j \in B} f_{bn}, \; b \in B \backslash \{s\} +\end{equation} + +\end{enumerate} +\paragraph{Narysowanie modelu} +\includepdf[pages=-]{1flow.pdf} + +\subsection{Rozwiązanie}Z \paragraph{Metoda }