Releases: AndreVale69/simulator-automatic-warehouse
Releases · AndreVale69/simulator-automatic-warehouse
v1.0.4
v1.0.3
- Remove useless
Numpydependencies from requirements. - Add compatibility with
Python 3.13.
v1.0.2
- Bump
pandasfrom2.2.2to2.2.3 - Bump
PyYAMLfrom6.0.1to6.0.2
v1.0.1
- Bump
jsonschemafrom4.22.0to4.23.0
v1.0.0
New Features and Improvements
- Random tray generation added to the
Trayclass. It's now possible to generate only one tray. - Improved
get_minimum_offsetmethod to calculate the minimum offset between columns in the warehouse. - Improved
gen_randmethod in theWarehouseclass. Now it cleanup the warehouse and then generate a bay
(bool parameter), a buffer (bool parameter), and populates the columns. - Improved simulation execution. Moved all simulation methods from
Warehouseclass toSimulationclass.
The list of moved methods is:run_simulationnew_simulationgo_to_baygo_to_bufferload_in_carouselloading_buffer_and_removevertical_moveallocate_best_posreach_tray_heightunloadloadhoriz_move
- Improved the logic of the
Simulationclass.
CreatedSimulationclass as superclass andWarehouseSimulationas child to have any custom simulation method. - Improved logic of the
simulation_actionsmethods. It now takes two parameters:trayanddestination. - Created a new module called
Algorithmwhere it's possible to insert a new algorithm. - New methods added to the
ColumnandCarouselclasses:is_fullandis_empty. - Moved the
gen_materials_and_traysstatic method fromWarehouseto theColumnclass (for logical reasons). - Moved the
remove_traymethod fromTrayContainerto theColumnclass. - Added a
min_heightparameter when randomly generating a material in theMaterialclass. - Added a
cleanupmethod to cleanup the warehouse. - Added a
get_num_columnsmethod to get the number of columns in the warehouse. - Added
get_bay_trayandget_buffer_traymethods to theCarouselclass (useful methods). - Added
last_position_is_occupiedmethod to theColumnclass. - Added
cleanup_columnsandcleanup_carouselmethods to theWarehouseclass. - Added
update_config_from_fileandupdate_configmethods to theWarehouseConfigurationSingletonclass
to allow loading a new configuration from the file o from an hardcoded object. - Added
add_materialsandremove_materialsmethods to theTrayclass. - Added a new exception in
horiz_moveif the offset is not found. - Added a new exception in
loadif the offset is not found. - Added a new exception when a tray is too large to be inserted into a container.
- Added a new exception when a material is too large to be inserted into a tray.
- Added default config path if none is specified (
configuration/sample_config.yaml). - Added total simulation time.
- Added
lengthfield in the configuration. - Added
trayfield in the configuration (length,width,maximum height). - Added a configuration validator to check that some properties are respected
(e.g. "the height property of each column can't be greater than the height of the warehouse (height_warehouse)."). - Changed the first trayEntry reference. Now the first trayEntry will be the lower limit.
For example, a tray with three entries; in the container the first trayEntry will be position 2,
and entries 0 and 1 are simple trayEntries. - Changed
Carouselclass signature.
It doesn't accept a dictionary anymore as parameter, but it wants aCarouselConfigurationclass instantiation.
This was done for clarity. - Changed
Columnclass signature.
It doesn't accept a dictionary anymore as parameter, but it wants aColumnConfigurationclass instantiation.
This was done for clarity. - Changed
Trayclass signature.
It wants aTrayConfigurationclass instantiation and the list of materials.
This was done for clarity. - Changed
get_height_containermethod toget_num_entries.
The first returns the height of the container (config value)
and the second returns the number of entries in the warehouse. - Changed the
add_columnmethod. It raises aValueErrorif the x-offset of the column is not unique. - Changed
srcfolder name inautomatic_warehouse. - Changed
resourcesfolder name inautomatic_warehouse-res. - Changed
configurationfolder name inautomatic_warehouse-config. Drawername changed toTray.Depositname changed toBay.
Bug Fixes and Enhancements
- Fixed random trays generation in
Trayclass. There were some problems (raiseValueError) when the
materials_to_insertparameter was larger than thehow_manyparameter. - Fixed
get_num_entries_freeinColumnclass.
There were some problems because the last position of the warehouse was considered multiple times
(instead of only once). - Fixed
__hash__inTrayclass. It throws an exception because Python can't hash a list. - Fixed
remove_trayin theCarouselclass.
It returns true if a tray isn't in the carousel.
This fix improves performance because it only checks two items (not the whole container...). - Fixed
is_emptyinColumnclass. It used a wrong height. - Fixed
__hash__in Entry class. It always returns the same value. - Fixed file not found error if the name of the project's directory was different from
simulator-automatic-warehouse. - Improved readability
calculate_max_heightmethod of theTrayclass. - Improved readability
__eq__method forMaterialclass. - Improved readability and naming of the methods used to decide where to insert a tray.
- Improved readability and speed of the
_high_position_algorithm. - Improved readability of the
gen_randmethod in theWarehouseclass. - Improved readability between simulation class methods.
- Improved logic for abstract methods. They now throw a
NotImplementedError. - Added different prime number in hash method for each class.
- Added new
__eq__methods. - Added new
__hash__methods. - Changed name of
get_max_num_spacemethod (Trayclass) toget_num_space_occupied. - Changed name of
get_height_colmethod (TrayContainerclass) toget_height_container.
Other
- Refactoring comments, change comment style.
- Added tests.
v0.0.1-bachelors-degree-thesis
This is an alpha version of the project. It is only made to see how the project was at the start. It corresponds to my bachelor thesis in computer science at the University of Verona.
This version should be stable, but it doesn't have any tests (next improvement)! So for now it is not very reliable.
What's Changed
- Start pull request, add only some inputs by @AndreVale69 in #1
- Andre branch by @AndreVale69 in #2
- Add some useful functions by @AndreVale69 in #3
- Modify logic of input, save data of drawers by @AndreVale69 in #4
- Clean main code and add enter data right column by @AndreVale69 in #5
- Andre branch by @AndreVale69 in #6
- Fix height calculate problems by @AndreVale69 in #7
- Andre branch by @AndreVale69 in #8
- Andre branch by @AndreVale69 in #9
- adding classes by refactoring by @AndreVale69 in #10
- Andre branch by @AndreVale69 in #11
- Andre branch by @AndreVale69 in #12
- Andre branch by @AndreVale69 in #13
- Andre branch by @AndreVale69 in #14
- Andre branch by @AndreVale69 in #15
- Andre branch by @AndreVale69 in #16
- Andre branch by @AndreVale69 in #17
- Andre branch by @AndreVale69 in #18
- Update from last meeting by @AndreVale69 in #19
- Merge pull request #19 from AndreVale69/main by @AndreVale69 in #20
- Andre branch by @AndreVale69 in #21
- meeting merge 05/12/2022 by @AndreVale69 in #22
- Andre branch by @AndreVale69 in #23
- meeting 22/12/2022 by @AndreVale69 in #24
- Andre branch by @AndreVale69 in #25
- Andre branch by @AndreVale69 in #26
- Andre branch by @AndreVale69 in #27
- Andre branch by @AndreVale69 in #28
New Contributors
- @AndreVale69 made their first contribution in #1
Full Changelog: https://github.com/AndreVale69/simulator-automatic-warehouse/commits/v0.0.1-bachelors-degree-thesis