This repository contains the implementation of Optimal Portfolio Allocation, a project designed for the CSC311. The goal is to determine the best allocation of assets in an investment portfolio using two algorithmic approaches: 1- Brute Force Approach 2- Dynamic Programming Approach.
🏆 Project Objectives
Develop a Java-based solution to maximize portfolio returns while maintaining risk constraints. Implement and compare Brute Force and Dynamic Programming solutions. Analyze time complexity and efficiency for different portfolio sizes.
🛠️ Features
✔ Reads input from a structured text file containing asset details (ID, expected return, risk level, and quantity). ✔ Computes the optimal allocation of assets based on expected return and risk tolerance. ✔ Outputs the allocation, expected portfolio return, and overall risk level. ✔ Includes performance analysis comparing both algorithmic paradigms.