Skip to content

An exact semidefinite programming (SDP) based solver for L2-norm semi-supervised support vector machine (S3VM) models.

License

Notifications You must be signed in to change notification settings

jschwiddessen/SDP-S3VM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimization meets Machine Learning

This repository provides the code and all experiments used in the following paper:

“Optimization meets machine learning: an exact algorithm for semi-supervised support vector machines”
Veronica Piccialli, Jan Schwiddessen, Antonio M. Sudoso
Journal: Mathematical Programming (Series B), 2024 - DOI: 10.1007/s10107-024-02175-z

DOI (journal) arXiv


An exact solver for L2-norm S3VMs

This repository contains reference code and scripts to solve semi-supervised SVMs (S3VMs) exactly using a branch-and-cut framework and semidefinite programming (SDP) relaxations. It also includes utilities to prepare datasets and to reproduce the computational experiments reported in the paper.

Highlights

  • Strong SDP-based lower bounds using RLT cuts and optimality-based bound tightening
  • Local search to build tight feasible (upper-bound) solutions from the solution of the SDP relaxation
  • Reproducible experiment pipeline

Usage

  1. Prepare inputs

    • instances.txt (one instance per line)
    • parameters.txt
  2. Run

mkdir -p output
julia -t auto

In the Julia REPL:

include("sdp_s3vm.jl")
run_tests("instances.txt", "parameters.txt")

All results are written to output/.

About

An exact semidefinite programming (SDP) based solver for L2-norm semi-supervised support vector machine (S3VM) models.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages