Giter VIP home page Giter VIP logo

feup-da-proj1's Introduction

FEUP-DA-PROJ1

First project for the DA course unit at FEUP.

A company wants to create an electronic crowdsourcing platform for deliveries. They hire couriers for the normal deliveries and they have a van for the express deliveries. In this project, we should develop algorithms to optimize different scenarios, such as:

  • Use the minimum couriers possible while delivering the maximum orders
  • Maximize the profit
  • Minimize the average delivery time

Building

This project uses cmake. Assuming it's installed and properly setup, simply run cmake -S . -B build in this project's directory to generate the build system, then cmake --build build to actually build the project.

This will generate two binaries in the build directory, da_proj1 and da_proj1_no_ansi, one that uses ANSI escape codes and one that doesn't.

Additionally, documentation will also be generated in the docs folder. Run git submodule init then git submodule update then build again to get the documentation website looking fancy.

Running

Simply run the executable generated in the last section.

The UI is quite simple and self descriptive. You are presented with options to check the available vans and the orders to be delivered. You can also choose a dataset to be load in the program and one of the scenarios mencioned above.

The program expects the datasets folder next to the current working directory. This can be changed in the constants.hpp file.

Unit info

Disclaimer

This repository (and all others with the name format feup-*) are for archival and educational purposes only.

If you don't understand some part of the code or anything else in this repo, feel free to ask (although I may not understand it myself anymore).

Keep in mind that this repo is public. If you copy any code and use it in your school projects you may be flagged for plagiarism by automated tools.

feup-da-proj1's People

Contributors

jsousa02 avatar naapperas avatar ttoino 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.