Skip to content

Releases: AndreVale69/simulator-automatic-warehouse

v1.0.1

04 Aug 15:06
Compare
Choose a tag to compare
  • Updated jsonschema from 4.22.0 to 4.23.0

v1.0.0

04 Aug 14:56
Compare
Choose a tag to compare

New Features and Improvements

  • Random tray generation added to the Tray class. It's now possible to generate only one tray.
  • Improved get_minimum_offset method to calculate the minimum offset between columns in the warehouse.
  • Improved gen_rand method in the Warehouse class. 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 Warehouse class to Simulation class.
    The list of moved methods is:
    • run_simulation
    • new_simulation
    • go_to_bay
    • go_to_buffer
    • load_in_carousel
    • loading_buffer_and_remove
    • vertical_move
    • allocate_best_pos
    • reach_tray_height
    • unload
    • load
    • horiz_move
  • Improved the logic of the Simulation class.
    Created Simulation class as superclass and WarehouseSimulation as child to have any custom simulation method.
  • Improved logic of the simulation_actions methods. It now takes two parameters: tray and destination.
  • Created a new module called Algorithm where it's possible to insert a new algorithm.
  • New methods added to the Column and Carousel classes: is_full and is_empty.
  • Moved the gen_materials_and_trays static method from Warehouse to the Column class (for logical reasons).
  • Moved the remove_tray method from TrayContainer to the Column class.
  • Added a min_height parameter when randomly generating a material in the Material class.
  • Added a cleanup method to cleanup the warehouse.
  • Added a get_num_columns method to get the number of columns in the warehouse.
  • Added get_bay_tray and get_buffer_tray methods to the Carousel class (useful methods).
  • Added last_position_is_occupied method to the Column class.
  • Added cleanup_columns and cleanup_carousel methods to the Warehouse class.
  • Added update_config_from_file and update_config methods to the WarehouseConfigurationSingleton class
    to allow loading a new configuration from the file o from an hardcoded object.
  • Added add_materials and remove_materials methods to the Tray class.
  • Added a new exception in horiz_move if the offset is not found.
  • Added a new exception in load if 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 length field in the configuration.
  • Added tray field 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 Carousel class signature.
    It doesn't accept a dictionary anymore as parameter, but it wants a CarouselConfiguration class instantiation.
    This was done for clarity.
  • Changed Column class signature.
    It doesn't accept a dictionary anymore as parameter, but it wants a ColumnConfiguration class instantiation.
    This was done for clarity.
  • Changed Tray class signature.
    It wants a TrayConfiguration class instantiation and the list of materials.
    This was done for clarity.
  • Changed get_height_container method to get_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_column method. It raises a ValueError if the x-offset of the column is not unique.
  • Changed src folder name in automatic_warehouse.
  • Changed resources folder name in automatic_warehouse-res.
  • Changed configuration folder name in automatic_warehouse-config.
  • Drawer name changed to Tray.
  • Deposit name changed to Bay.

Bug Fixes and Enhancements

  • Fixed random trays generation in Tray class. There were some problems (raise ValueError) when the
    materials_to_insert parameter was larger than the how_many parameter.
  • Fixed get_num_entries_free in Column class.
    There were some problems because the last position of the warehouse was considered multiple times
    (instead of only once).
  • Fixed __hash__ in Tray class. It throws an exception because Python can't hash a list.
  • Fixed remove_tray in the Carousel class.
    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_empty in Column class. 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_height method of the Tray class.
  • Improved readability __eq__ method for Material class.
  • 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_rand method in the Warehouse class.
  • 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_space method (Tray class) to get_num_space_occupied.
  • Changed name of get_height_col method (TrayContainer class) to get_height_container.

Other

  • Refactoring comments, change comment style.
  • Added tests.

v0.0.1-bachelors-degree-thesis

05 Apr 07:23
Compare
Choose a tag to compare
Pre-release

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

New Contributors

Full Changelog: https://github.com/AndreVale69/simulator-automatic-warehouse/commits/v0.0.1-bachelors-degree-thesis