Skip to content
Alls konar
import numpy as np
from scipy.stats import binomdepartures = [5,15,12,8,7,6,9,10,14,9,9,9,9,8,11,11,9,4,7,7,4,6,6,7,4,6,6,4,5,6,6]
print('Miðað við 95% öryggi að varavaktir dugi fyrir hvern dag')
sum = 0
for idx,dep in enumerate(departures):
print(str(idx + 1) + '. janúar: brottfarir ' + str(dep) + ', varavaktir ' + str(binom.ppf(0.95, dep, 0.1432)))
sum = sum + binom.ppf(0.95, dep, 0.1432)
print('Fyrir janúar í heild þarf ' + str(sum) + ' varavaktir')
print('Hlutfall varavakta af brottförum ' + str(sum / 239))for i in np.arange(0,11):
print(str(i) + ": " + str(binom.pmf(i, 10, 0.2)))Vaktaplan fyrir varavaktir
def cost_function(n, k, absence_rate, c_shift, c_bought_day):
return k * c_shift + expected_cost_bought_days(k, n, absence_rate, c_bought_day)
def expected_cost_bought_days(k, n, absence_rate, c_bought_day):
cost = 0
for i in np.arange(k + 1, n + 1):
cost = cost + ((i - k) * binom.pmf(i, n, absence_rate) * c_bought_day)
return cost
n = 10
absence_rate = 0.2
c_shift = 250000
c_bought_day = 500000
for k in np.arange(0,10):
print(str(k) + ": " + str(cost_function(n, k, absence_rate, c_shift, c_bought_day)))np.arange(0,10)sum = 0
for i in np.arange(0,11):
print(binom.pmf(i,10,0.1))
%%capture
!pip install gurobipy
import gurobipy as gp
from gurobipy import GRBarr = []
for i in range(0,11):
arr.append(cost_function(n, i, absence_rate, c_shift, c_bought_day))
print(arr)
#arr = [3,2,3,2,3,2,3,2,3,2,3,2,3,2,3]
def testfunc(k):
return expected_cost_bought_days(k, n, absence_rate, c_bought_day)
try:
# Create a new model
m = gp.Model("mip1")
# Create variables
k_g = m.addVar(vtype=GRB.INTEGER, name="k_g")
# Set objective
#.setObjective(k_g * c_shift + binom.pmf(3,10,0.1), GRB.MINIMIZE)
m.setObjective(k_g * c_shift + testfunc(k_g), GRB.MINIMIZE)
# Add constraint: x + 2 y + 3 z <= 4
# Add constraint: x + y >= 1
m.addConstr(k_g >= 0, "c0")
m.addConstr(k_g <= n, "c1")
# Optimize model
m.optimize()
for v in m.getVars():
print('%s %g' % (v.VarName, v.X))
print('Obj: %g' % m.ObjVal)
except gp.GurobiError as e:
print('Error code ' + str(e.errno) + ': ' + str(e))
except AttributeError:
print('Encountered an attribute error')
Vísitala fasteignaverðs og meginvextir SÍ
import pandas as pdmv = pd.read_csv('Meginvextir(1).csv', delimiter=';')mv['Dagsetning'] = pd.to_datetime(mv['Dagsetning'], format='%d.%m.%Y')
mv.head()