Git Product home page Git Product logo

cargopacking's Introduction

Cargo Packing

A fully functional application that helps putting blocks of different sizes and dimensions in a container

This project helps with finding different ways to pack cargo in a container. It has two options:

  1. Maximizing profits
  2. Maximizing space utilization

The application gives the user the option to pick the approach and by default, the values for the profits of the blocks are 3, 4, and 5 for types A, B, and C respectively.

The application layer for this project was built using the JavaFX library and the algorithms were written in Java.

Screenshot 2024-01-26 at 12 01 01 in the afternoon

Running the program

We used JavaFX 18 and Java 21 for this project. For running this program you need to install JavaFX and add it to your project. You can find the instructions here and in order to download the Java 21 you can go to this link.

After installing these libraries you can run the program by running the JFX3D.java file in src/Phase3.JFX3D directory or by running these two commands in the terminal:

javac ./src/Phase3/JFX3D.java

java ./src/Phase3/JFX3D.java

Screenshot 2024-01-26 at 11 58 38 in the morning

How to use the program

After running the program, you are able to pick the algorithm that you want to use and the types of blocks you have.

You can also change the values of the items by changing the numbers in the values section. For maximizing space utilization, the values of items should be (-1, -1, -1).

Screenshot 2024-01-26 at 12 02 55 in the afternoon

Starting the program

After clicking on the Start button, the program will show you the result of the algorithm that you chose. You can reset the program by clicking on the Reset button.

You can use the sliders at the bottom of the app to render only parts of the container.

Furthermore, you can select the container and rotate it by using the mouse.

Results and reports

You can find the results and the full report about the algorithms in the results directory. The results and the report are in the form of .pdf and .xlsx files.

cargopacking's People

Contributors

amir-mohseni avatar koungmyathein-um avatar kpukis avatar rocketfuel7 avatar zdiegyang avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.