Design and Analysis of a Large Scale Second Order Non-Convex Optimizer

Edge or Fog Computing Environment.

The goal is to design a large scale optimization algorithm for machine learning tasks that can run on decentralized compute environments (such as peer-to-peer systems). Requires ability to program and do empirical analysis and also understand theoretical optimization models/literature. 

Project description

A research project is available in the Department of Management Science and Systems which involves the development and testing of a large scale optimization algorithm for distributed compute environments. This is an UNPAID position, and requires the incumbent to commit to at least two semesters of work (possibly more, if the project so demands). The incumbent is, however, eligible for independent study or research credits and is expected to gain experience in doing research. The position is available immediately.

The student is expected to be:

  • Very well-versed in coding with Java with demonstrated experience in using Java for several projects [Our legacy code is in Java, hence this requirement; prior knowledge of Python, R and other programming languages is useful, but not necessary]
  • Must have worked on / be currently engaged in research projects at the undergraduate level and be comfortable in reading research papers and implementing algorithms described in them.
  • Must have prior knowledge of optimization algorithms and should have taken courses in them. Alternatively, they may have to learn unconstrained optimization techniques as part of the project.
  • Understand unconstrained optimization -- should have taken prior courses in optimization. 
  • Will be required to implement and test large scale optimization algorithms and should be able to look into pre-existing code from other researchers if they exist.
  • Be able to interpret, visualize, analyze and plot results from empirical studies.
  • Enthusiastically participate in reading groups and brown-bag sessions and
  • Present work at conferences or journals as appropriate.

If interested, please email haimonti@buffalo.edu highlighting how the above requirements make you a good match for the project.

Project outcome

  • Implementation and Testing of Large Scale Optimization Algorithms
  • Presentation of results in a conference and journal

Project details

Timing, eligibility and other details
Length of commitment Year-long (10-12 months) 
Start time Fall (August/September) or Immediately 
In-person, remote, or hybrid? Hybrid 
Level of collaboration
Individual student project 
Benefits Academic credit & research experience
Who is eligible
Seniors with knowledge of optimization algorithms and ability to program in Java & Python

Core partners

  • Department of Computer Science
  • Data Science, School of Engineering and Applied Science 

Project mentor

Haimonti Dutta

Associate Professor

Management Science and Systems

Phone: (484) 432-1484

Email: haimonti@buffalo.edu

Start the project

  1. Email the project mentor using the contact information above to express your interest and get approval to work on the project. (Here are helpful tips on how to contact a project mentor.)
  2. After you receive approval from the mentor to start this project, click the button to start the digital badge. (Learn more about ELN's digital badge options.) 

Preparation activities

Once you begin the digital badge series, you will have access to all the necessary activities and instructions. Your mentor has indicated they would like you to also complete the specific preparation activities below. Please reference this when you get to Step 2 of the Preparation Phase. 

  • Demonstrated ability to code in Java and Python
  • Understand unconstrained optimization -- should have taken prior courses in optimization. 

Keywords

Optimization, Machine Learning, Large Scale Learning, Distributed Machine Learning , Computer Science, Management Science, Data Science,  Java and Python,  Optimization Algorithms