Skip to content

jonathandlume/Scala-Optimization-Problem-Solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Scala Optimization Problem Solver

Overview

This repository contains a simple Scala implementation of an optimization problem solver. The example provided demonstrates solving a quadratic function using gradient descent. The code is intended to run in a JupyterLab environment with a Scala kernel.

Features

  • Quadratic Function Optimization: Minimizes a quadratic function of the form f(x) = ax^2 + bx + c.
  • Gradient Descent Algorithm: Implements a basic gradient descent method to find the minimum of the function.

Getting Started

To use this project, you'll need to set up JupyterLab with the Scala kernel. Follow these steps to get started:

Prerequisites

  1. Install JupyterLab: Ensure you have JupyterLab installed. You can follow the official installation guide if needed.

  2. Install Scala Kernel: Install the Almond Scala kernel for JupyterLab. Run the following command:

    cs launch almond --install

Setting Up the Project

Clone the Repository:

git clone https://github.com/yourusername/scala-optimization-solver.git
cd scala-optimization-solver

Create a New Jupyter Notebook:

Open JupyterLab and create a new notebook. Select the Scala kernel.

Add the Code to the Notebook:

Copy the provided Scala code into separate cells in the Jupyter notebook:

  • Cell 1: Define the quadratic function and its derivative.
  • Cell 2: Implement the gradient descent algorithm.
  • Cell 3: Run the optimization and display the result.

Contributing

Feel free to fork this repository and submit pull requests for improvements or new features. For significant changes, please open an issue to discuss it first.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or feedback, please contact [email protected].

Releases

No releases published

Packages

No packages published