Skip to content

motagfr/resource-scheduling

Repository files navigation

Resource Scheduling Project

Overview

This project addresses a classic resource allocation problem. Efficient resource allocation is crucial in many domains, including logistics, cloud computing, and operations research. The specific challenge here is shipment scheduling: allocating trucks to shipments based on constraints such as volume, weight, and shipment type.

..

Project Structure

  • Shipment/Shipment.sln — Visual Studio solution file.
  • Shipment/Shipment/ — Main C# project folder.
    • Schedule.cs — Core scheduling logic.
    • Form1.cs — Windows Forms UI.
    • Other supporting files and resources.
  • Code.txt — Contains the main scheduling algorithm.
  • Report.pdf — Project report (see below for summary).
  • Task specfication_.pdf — Task requirements (see below for summary).

Problem Statement

The project solves the problem of scheduling shipments into trucks, maximizing truck utilization while respecting constraints:

  • Each truck has a maximum volume and weight.
  • Shipments are of two types: Perishable (P) and Hazmat (H).
  • The goal is to allocate shipments to trucks efficiently, maximizing fill rate and minimizing the number of trucks used.

Algorithm Summary

  • Shipments are separated by type.
  • For each type, shipments are packed into trucks until volume or weight limits are reached.
  • Trucks are filled sequentially, maximizing fill rate.
  • The algorithm tracks truck usage and shipment IDs.

Example Code Snippet

public Outputs[] Scheduling(Inputs[] inputs)
{
    // ...existing code...
    // Separate shipments by type, pack into trucks, maximize fill rate
    // ...existing code...
    return Outs;
}

How to Run

  1. Open Shipment.sln in Visual Studio.
  2. Build and run the project.
  3. Use the UI to input shipment data and view scheduling results.

About Resource Allocation in Computer Science

Resource allocation problems are pervasive in computer science, appearing in areas such as:

  • Task scheduling in operating systems
  • Job assignment in distributed systems
  • Network bandwidth allocation
  • Logistics and supply chain management

This project demonstrates practical skills in modeling, algorithm design, and implementation for resource scheduling.

License

This project is for educational purposes.

About

Resource scheduling: truck allocation for perishable and hazmat shipments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages