EQUIRELIEF is a Java-based disaster relief distribution system that applies a Greedy Approximation Algorithm to efficiently allocate limited resources (e.g., food, water, medical kits) to affected families. The system uses a household-based prioritization method and models the distribution as a Knapsack Problem using a heuristic approach.
To provide a smart, fast, and fair way to distribute emergency supplies by maximizing the total utility of distributed items while respecting capacity constraints.
The algorithm is based on the Greedy heuristic solution to the 0/1 Knapsack Problem:
- Each resource has a weight (cost or volume) and value (urgency or priority).
- Families are assigned scores based on configurable priority metrics (e.g., size, vulnerability, special needs).
- The algorithm sorts items or families based on value-to-weight ratio and greedily allocates resources accordingly until the knapsack (relief supply limit) is full.
- Gather household data and total available resources.
- Sort families based on priority metric (e.g., size or urgency).
- Allocate resources greedily from highest to lowest priority.
- Stop when no more resources can be allocated.
git clone https://github.com/AshleyFullero/DisasterResourceAllocation.git
cd DisasterResourceAllocation- Prepare or input the list of families and available resources.
- Run the program.
- View the results in the output JavaFX table.
- Visualize allocations and priorities via color-coding.
- ๐ Configurable household and resource data
- ๐ Greedy heuristic allocation based on value-to-weight ratio
- ๐งฎ Custom priority scoring per family
- ๐ JavaFX UI for visualization
- โ Fast and practical for field deployment