• Stars
    star
    245
  • Rank 159,052 (Top 4 %)
  • Language
    F#
  • License
    MIT License
  • Created over 5 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fsharp LInear Programming System

Flips Banner

Discord

Flips : F# LInear Programming System

Full Documenation can be found here.

Flips is an F# library for modeling and solving Linear Programming (LP) and Mixed-Integer Programming (MIP) problems. It is inspired by the work of the PuLP library for Python and the excellent Gurobi Python library. It builds on the work of the outstanding Google OR-Tools library and the OPTANO library.

F# is a great language to work with but many of the existing APIs for modeling Optimization problems are heavily influenced by Object-Oriented concepts. While there is nothing wrong with OO, this is an attempt to take a functional-first approach to the problem.

This library tries to make the modeling of Optimization Models (LP/MIP) clean and simple. The idea was to make it straightforward for an Operation Researcher or Optimization domain expert to express their ideas in F#. These practitioners are used to working with Mathematical constructs like Sets, Sigma-notation, and summations. Reducing the mental distance between the mathematical formulation of problems and the F# representation was a key design goal.

F# developers should also find it comfortable to use this library. Over time I will be adding tutorials and training material on how to model Optimization Problems using this library. With a little training any F# developer will be able to add the powerful tool of Optimization to their repertoire.

Installation

To use Flips, simply add the nuget package to whatever project you are working on. The library comes with the CBC solver for Mixed-Integer Programming and the Google GLOPS solver for Linear Programming which are both free and open source.

Flips also supports the Gurobi and IBM CPLEX commercial solvers through the use of the excellent OPTANO library. You will need to get a separate license to use these libraries. The installation of these commercial libraries is not covered in this documentation since installation can depend on deployment and use case. Please refer to these vendors for commercial support in using their product. Flips currently only supports the latest version of each of these libraries.

More Repositories

1

Deedle

Easy to use .NET library for data and time series manipulation and for scientific programming
F#
913
star
2

XPlot

A collection of older plotting libraries for F#. Recommended to use Plotly.NET instead https://plotly.net/
F#
286
star
3

RProvider

Access R packages from F#
F#
235
star
4

FSharp.Charting

Charting library suitable for interactive F# scripting
F#
216
star
5

FSharp.Stats

statistical testing, linear algebra, machine learning, fitting and signal processing in F#
F#
203
star
6

zzarchive-FsLab

A collection of packages for data science with F#
F#
159
star
7

Cytoscape.NET

.NET interface for Cytoscape.js written in F#
F#
44
star
8

FsLab

The curated FsLab stack and public discussion board for all things FsLab.
F#
26
star
9

zzarchive-Deedle.BigDemo

BigDeedle demo showing how to use Deedle for working with very large time series and data frames stored in Azure table storage.
F#
22
star
10

FsSpreadsheet

Spreadsheet creation and manipulation in F#, in a functional and/or object-oriented way.
F#
16
star
11

Graphoscope

A pragmatic approach to network science.
F#
13
star
12

fslaborg.github.io

The fslab website
F#
11
star
13

zzarchive-fslaborg.github.io

Project web site hosted at www.fslab.org
F#
10
star
14

NBFormat.NET

A pure F# library for parsing and converting the `.ipynb` notebook file format
F#
6
star
15

datasets

A data source for example datasets for all kinds of data science
6
star
16

zzarchive-FsLab.Templates

FsLab project templates - download as ZIP to get started!
4
star
17

docs-template

fslab documentation theme for FSharp.Formatting
F#
4
star
18

zzarchive-FsLab.Formatters

Scripts for formatting FsLab values (frames, charts, matrices, etc.) as HTML for Ionide and FsLab Journal
F#
3
star
19

Sigma.NET

.NET interface for sigma.js graph visualisation written in F#
F#
3
star
20

Fs-Tensor-Scratch

F#
2
star
21

conference-resources

Resources from the 2023 Data science in F# conference (and hopefully future iterations as well)
2
star
22

zzarchive-OReilly.Report

Source code for the "Analyzing and Visualizing Data with F#" report by O'Reilly
F#
2
star
23

project-template

A dotnet new template for creating streamlined datascience packages
1
star