Skip to main content

Programming assignments for UIUC's ECE490: Introduction to Optimization course during Spring 2023

Project description

ECE490

Repo to collaborate within for UIUC's ECE490, Spring 2023

Installation

Installation from PyPI

This should be as simple as:

python -m pip install uiuc-490-sp23

Installation from Source

This project uses Poetry Install it via their instructions and run:

poetry install

from this directory (preferably from within a venv).

Executing

Once installed, individual assignments can be ran by:

python -m uiuc_490_sp23.assignment<n>

where <n> is the assignment number. These will have a CLI implemented using argparse; if you're not sure, just run the above with --help to get a full list of commands.

Assignments

Assignment 1: Gradient Descent

This solves a simple, randomly generated quadratic minimization problem using Gradient Descent. It does so using both fixed step size, as well as an adaptive backtracking line search (Armijo's rule).

Assignment 2: Newton's Method and Projected Gradient Descent

This assignment does two things:

  • Implements Newton's method to solve a simple 2D cubic polynomial and plots a fractal displaying the resulting solution based on the starting point
  • Implements Projected gradient descent and uses it to solve a simple box constrained optimization problem

Assignment 3: Augmented Lagrangian

This assignment implements the augmented Lagrangian to solve an equality constrained quadratic problem.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uiuc_490_sp23-0.1.3.tar.gz (150.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uiuc_490_sp23-0.1.3-py3-none-any.whl (152.3 kB view details)

Uploaded Python 3

File details

Details for the file uiuc_490_sp23-0.1.3.tar.gz.

File metadata

  • Download URL: uiuc_490_sp23-0.1.3.tar.gz
  • Upload date:
  • Size: 150.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-69-generic

File hashes

Hashes for uiuc_490_sp23-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3d39075d4dfec586f8d3654dd933a295dc4f5e232a4456041ba87492aecf6eca
MD5 b43b49d27f28b9e766853341ebec4c29
BLAKE2b-256 6740b355f55e38c9e011a649234beac1d204ba151863590a77403ab079e54f34

See more details on using hashes here.

File details

Details for the file uiuc_490_sp23-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: uiuc_490_sp23-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 152.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-69-generic

File hashes

Hashes for uiuc_490_sp23-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 829eaa8862e4d9ced901a791bf7102563bd008cd0436868713dba03af7fceeda
MD5 3b8bf6d36ed73514e5af8d195ce66186
BLAKE2b-256 a70948d502b4962b2ebfecfa64399412d88d8b2a92731b53563a06dd00cc436f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page