mip

command
v0.30.0-dev.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

README

Nextmv MIP template

This template demonstrates how to solve a Mixed Integer Programming problem using the open-source solver HiGHS.

To solve a Mixed Integer Problem (MIP) is to optimize a linear objective function of many variables, subject to linear constraints. We demonstrate this by solving the knapsack problem.

Knapsack is a classic combinatorial optimization problem. Given a collection of items with a value and weight, our objective is to maximize the total value without exceeding the weight capacity of the knapsack.

The input defines a number of items which have an id to identify the item, a weight and a value. Additionally there is a weight capacity.

The most important files created are main.go and input.json.

  • main.go implements a MIP knapsack solver.
  • input.json is a sample input file that follows the input definition in main.go.

Run the command below to check that everything works as expected:

nextmv sdk run . -- -runner.input.path input.json \
  -runner.output.path output.json -solve.duration 10s

A file output.json should have been created with the optimal knapsack solution.

Next steps

  • Open main.go and read through the comments to understand the model.
  • API documentation and examples can be found in the package documentation.
  • Further documentation, guides, and API references about custom modelling and deployment can also be found on our blog and on our documentation site.
  • Need more assistance? Send us an email!

Documentation

Overview

package main holds the implementation of the mip-knapsack template.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL