background image

WOJSKOWA  AKADEMIA  TECHNICZNA  

im. Jarosława Dąbrowskiego 

WYDZIAŁ  CYBERNETYKI 

 
 
 

 

 

 
 
 
 
 

 
 
Metody informatycznego wspomagania decyzji

 

 
 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
Autor pracy: 
Łukasz Śledzik 

Prowadzący: 
dr Jarosław Olejniczak 

background image

Zad1 
W fabryce układów scalonych czterech techników (A, B, C i D) produkuje trzy 
układy produkt 1, 2 i 3). Fabryka może sprzedać miesięcznie 80 sztuk produktu 1, 
50 sztuk produktu 2 i co najwyżej 50 sztuk produktu 3. Technik A potrafi 
wytwarzać tylko produkty 1 i 3. Technik B potrafi wytwarzać tylko produkty 1 i 2, 
technik C potrafi wytwarzać tylko produkt 3, a technik D potrafi wytwarzać tylko 
produkt 2. Jedna sztuka każdego typu produktu przynosi następujący zysk: produkt 
1-6 dolarów; produkt 2-7 dolarów; produkt 3-10 dolarów. Czas (w godzinach) 
potrzebny każdemu technikowi do wytworzenia jednego produktu wygląda 
następująco:  
  
  

Produkt 

Technik A 

Technik B 

Technik C 

Technik D 

1 

2,5 

Nie potrafi 

Nie potrafi 

2 

Nie potrafi 

Nie potrafi 

3,5 

3 

Nie potrafi 

Nie potrafi 

  
Każdy technik może przepracować miesięcznie do 120 godzin. Jak 
zmaksymalizować miesięczny zysk fabryki układów scalonych?  

 

 
> # Definicja przestrzeni (rozmiar macierzy ograniczeń) 
> library(lpSolveAPI) 
> lprec <- make.lp(4, 3) 
> # Wprowadzenie danych do macierzy ograniczeń  
> set.column(lprec, 1, c(2, 2.5, 0, 0)) 
> set.column(lprec, 2, c(0, 3, 0, 3.5)) 
> set.column(lprec, 3, c(3, 0, 4, 0)) 
> # Definicja funkcji celu    
> set.objfn(lprec,c(-6, -7, -10)) 
> # Definicja rodzaju warunków ograniczających 
> set.constr.type(lprec,c("<=", "<=", "<=", "<=")) 
> # Wprowadzenie ograniczeń 
> set.rhs(lprec,c(120, 120, 120, 120)) 
> set.bounds(lprec,upper=c(80, 50, 50),columns=c(1, 2, 3)) 
> # zmiana typu zmiennych (wartości całkowite) - integer 
> set.type(lprec, 1, type = c("integer")) 
> set.type(lprec, 2, type = c("integer")) 
> set.type(lprec, 3, type = c("integer")) 
> # rozwiązanie problemu 
> solve(lprec) 

[1] 0 

> get.objective(lprec) 

[1] -582 

> get.variables(lprec) 

[1] 12 30 30 

> get.constraints(lprec) 

[1] 114 120 120 105 

>  
 

background image

Wnioski: 
Maksymalny zysk wciągu jednego miesiąca wynosi 582 zł. Aby to osiągnąć należy 
produkować: 

 

12 szt. produktu 1 

 

30 szt. produktu 2 

 

30 szt. produktu 3 

Technicy: B oraz C przepracują po 120h 
Technik A 114h  
Technik C 105h 
 
 
Zad2 
 

Zakład produkujący komputery wytwarza myszy, klawiatury i joysticki do gier 
wideo. Zysk na jednej sztuce, nakład pracy na jedną sztukę, miesięczne 
zapotrzebowanie i czas maszyny na jedną sztukę można znaleźć w zamieszczonej 
niżej tabeli:  
  
  

  

Myszy 

Klawiatury 

Joysticki 

Zysk/sztuka 

8 zł 

11 zł 

9 zł 

Czas pracy/sztuka  0,2 godziny 

0,3 godziny 

O,24 godziny 

Czas 
maszyny/sztuka
 

0,04 godziny  0,055 godziny  0,04 godziny 

Miesięczne 
zapotrzebowanie
 

15000 

25000 

11000 

  
Moce produkcyjne zakładu wynoszą miesięcznie 13000 godzin pracy ludzi i 
3000 godzin pracy maszyn. Jak ustawić asortyment produkcji, aby zakład uzyskał 
maksymalny zysk za jeden miesiąc? 

 
 
> # Definicja funkcji celu 
> set.objfn(lprec, c(-8, -11, -9))   
> # Wprowadzenie ograniczeń 
> set.constr.type(lprec, c("<=", "<=")) 
> set.rhs(lprec, c(13000, 3000)) 
> set.bounds(lprec, upper = c(15000, 25000, 11000), columns = c(1,2,3)) 
> # Zmiana typu zmiennych na integer 
> set.type(lprec, 1, type=c("integer")) 
> set.type(lprec, 2, type=c("integer")) 
> set.type(lprec, 3, type=c("integer"))         
> solve(lprec) 

[1] 0 

> get.objective(lprec) 

[1] -488866 

> get.variables(lprec) 

[1] 14999 24534 11000 

> get.constraints(lprec) 

[1] 13000.00  2389.33 

background image

> lprec 

Model name:  
             C1     C2     C3            
Minimize     -8    -11     -9            
R1          0.2    0.3   0.24  <=  13000 
R2         0.04  0.055   0.04  <=   3000 
Kind        Std    Std    Std            
Type        Int    Int    Int            
Upper     15000  25000  11000            
Lower         0      0      0            

 
 
Wnioski: 
Maksymalny zysk będzie osiągalny przy ustawieniu: 
Ilość myszy: 14999 
Ilość klawiatur: 24534 
Ilość joysticków: 11000 
Wartość maksymalnego zysku: 488866 zł