def first_fit_dec(list_items, max_size): """ Returns list of bins with input items inside. """ # Sort list in decreasing order list_items.sort(reverse=True) # Apply first-fit algorith return(first_fit(list_items, max_size))
def first_fit_dec(list_items, max_size): """ Returns list of bins with input items inside. """ # Sort list in decreasing order list_items.sort(reverse=True) # Apply first-fit algorith return (first_fit(list_items, max_size))
state = sim.simxUnpackFloats(data) state = np.array(state) state = state.reshape((120, -1)) r, dim = sim.simxGetStringSignal(clientID, 'DIM', sim.simx_opmode_blocking) dim = sim.simxUnpackFloats(dim) if (boxes_generated == 0): boxes_generated = int(dim[3]) dim = dim[0:3] #print(dim) sim.simxSetStringSignal(clientID, 'STATE', '', sim.simx_opmode_oneshot) if heuristics == 'walle': pos = np.array(walle(state, dim)) if heuristics == 'first_fit': pos = np.array(first_fit(state, dim)) if heuristics == 'floor_building': pos = np.array(floor_building(state, dim)) # pos=np.array(column_building(state,dim)) send_pos = sim.simxPackInts(pos) #print(send_pos) if dim[0] < 10 or dim[1] < 10 or dim[2] < 10: sim.simxStopSimulation(clientID, sim.simx_opmode_oneshot) # sim.simxpauseSimulation(clientID,sim.simx_opmode_oneshot) break sim.simxSetStringSignal(clientID, 'POSFOUND', send_pos, sim.simx_opmode_oneshot) if (pos[0] > 0): boxesVolumesSum += dim[0] * dim[1] * dim[2] num += 1 patience = 0
# Examples from first_fit import first_fit from first_fit_dec import first_fit_dec items = [8, 16, 12, 8, 45, 18, 30, 7, 10, 14, 9, 9, 52, 88] bin_height = 60 # First-fit Algorithm print(first_fit(items, bin_height)) # First-fit Decreasing Algorithm print(first_fit_dec(items, bin_height))
import csv import numpy as np from first_fit import first_fit inputFile = open("bpp_instances.txt", "r") for line in inputFile: data = np.array(line.split(","), dtype=np.int32) print(first_fit(data[1:], data[0])) inputFile.close()