Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.97 KB | None | 0 0
  1. ## -*- coding: utf-8 -*-
  2. #"""
  3. #Spyder Editor
  4. #
  5. #This is a temporary script file.
  6. #"""
  7. #
  8. #import numpy as np
  9. #import itertools
  10. #import matplotlib.pyplot as plt
  11. #import scipy.io
  12. #from itertools import combinations
  13. #
  14. #
  15. #mat = scipy.io.loadmat('Greer_Ruhe_dataset.mat')
  16. #
  17. #"""
  18. #
  19. #zahtjevi = [4, 2, 3, 1]
  20. #vrijednosti = [[4, 7, 3, 5], [2, 2, 2, 3], [3, 1, 4, 7]]
  21. #"""
  22. #
  23. #zahtjevi = mat['Cost']
  24. #vrijednosti = mat['Value']
  25. #
  26. #zahtjevi = zahtjevi.tolist()
  27. #
  28. #
  29. #alfa = 0.6
  30. #budzet = alfa * np.sum(zahtjevi)
  31. #
  32. #trenutna_kombinacija = []
  33. #
  34. ##result = [seq for i in range(len(zahtjevi), 0, -1) for seq in itertools.combinations(zahtjevi, i)]
  35. ##result = output = sum([list(map(list, combinations(zahtjevi, i))) for i in range(len(zahtjevi) + 1)], [])
  36. #
  37. #def combs(x):
  38. #    return [c for i in range(len(x)+1) for c in combinations(x,i)]
  39. #
  40. #result = combs(zahtjevi)
  41. #
  42. #
  43. #print(result)
  44. ##print("len:   " + str(len(vrijednosti)))
  45. #
  46. #sume = np.zeros(len(result))
  47. #
  48. #print(len(result))
  49. #
  50. #counter = 0
  51. #
  52. #for i in result:
  53. #    vrijednost = 0
  54. #    for j in i:
  55. #  
  56. #        for a in range(len(result)):
  57. #            idx = zahtjevi.index(j)
  58. #            vrijednost += vrijednosti[a][idx]
  59. #        
  60. #    sume[counter] = vrijednost
  61. #    counter += 1
  62. #            
  63. #    
  64. #
  65. #
  66. #sume.sort()
  67. #
  68. #plt.plot(sume)
  69.  
  70.  
  71. # -*- coding: utf-8 -*-
  72. """
  73. Spyder Editor
  74.  
  75. This is a temporary script file.
  76. """
  77. import itertools
  78. import numpy as np
  79. import matplotlib.pyplot as plt
  80. import time
  81. import scipy.io
  82.  
  83. start = time.time()
  84. '''
  85. cijena = [4,2,3,1]
  86. zadovoljstvo = [
  87.        [4,7,3,5],
  88.        [2,2,2,3],
  89.        [3,1,4,7]
  90. ]
  91. '''
  92.  
  93. #import scipy.io
  94. #from itertools import combinations
  95. #
  96. #
  97. mat = scipy.io.loadmat('Greer_Ruhe_dataset.mat')
  98.  
  99.  
  100.  
  101.  
  102. zadovoljstvo = mat['Cost']
  103. cijena = mat['Value']
  104.  
  105.  
  106. najbolji = 0
  107. suma = 0
  108. best_subset = []
  109. trosak = []
  110. sreca = []
  111.  
  112. for L in range(0, len(cijena)+1):
  113.     for subset in itertools.combinations(cijena, L):
  114.         if(subset):
  115.             suma = 0
  116.             zadnji = np.cumsum(subset)[-1]
  117.             #if(zadnji<=6):
  118.                 #print(subset)
  119.             indeksi = []
  120.             for ind in subset:
  121.                 novi_ind = np.where(cijena == ind)
  122.                 #print("sdasda:", novi_ind[0][0])
  123.                 indeksi.append(novi_ind[0][0])
  124.             #print(indeksi)
  125.             for j in indeksi:
  126.                 #print(j)
  127.                 for zadov in zadovoljstvo:
  128.                     suma = suma + zadov[j]
  129.                     #print(zadov[j])
  130.             #print(suma)
  131.             trosak.append(zadnji)
  132.             sreca.append(suma)
  133.            
  134.             #if (najbolji<suma):
  135.                 #najbolji = suma
  136.                 #best_subset = subset      
  137.                
  138.  
  139. trosak.sort()
  140. sreca.sort()
  141. #print(cijena)
  142. #print(trosak)
  143. #print(sreca)
  144.  
  145. plt.plot(trosak,sreca)
  146.  
  147. end = time.time()
  148.  
  149. print(end - start)
  150.                    
  151.                    
  152. #print(najbolji)
  153. #print(best_subset)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement