problem

package
v0.0.0-...-a6db14b Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package problem contains definitions of some discrete optimization problems

Index

Constants

View Source
const (
	ACTIVITY_SELECTION       = "activity"
	ASSIGNMENT               = "assignment"
	BIN_COVER                = "bincover"
	BIN_PACKING              = "binpacking"
	BINARY_PAINTSHOP         = "binarypaint"
	CAR_PAINT                = "carpaint"
	CAR_SEQUENCE             = "carsequence"
	CLIQUE                   = "clique"
	CLIQUE_COVER             = "cliquecover"
	COMPLETE_COLOR           = "completecolor"
	DOMINATING_SET           = "dominatingset"
	EDGE_COLOR               = "edgecolor"
	EDGE_COVER               = "edgecover"
	EDGE_DOMINATING_SET      = "edgedominatingset"
	EFFICIENT_DOMINATING_SET = "efficientdominatingset"
	EULER_CYCLE              = "eulercycle"
	EULER_PATH               = "eulerpath"
	EXACT_COVER              = "exactcover"
	FLOWSHOP_SCHED           = "flowshop"
	GEN_ASSIGNMENT           = "genassignment"
	GRAPH_COLOR              = "graphcolor"
	GRAPH_PARTITION          = "graphpartition"
	HAMILTON_PATH            = "hamiltonpath"
	HAMILTON_CYCLE           = "hamiltoncycle"
	HARMONIOUS_COLOR         = "harmoniouscolor"
	INDEPENDENT_SET          = "independentset"
	JOBSHOP_SCHED            = "jobshop"
	K_CENTER                 = "kcenter"
	KNAPSACK                 = "knapsack"
	LANGFORD_PAIR            = "langford"
	LBAP                     = "lbap"
	LIS                      = "lis"
	LONGEST_PATH             = "longestpath"
	MAGIC_SERIES             = "magicseries"
	MAX_CARDINALITY_MATCH    = "maxcardinalitymatch"
	MAX_WEIGHT_MATCH         = "maxweightmatch"
	MINIMAX_PATH             = "minimaxpath"
	MDST                     = "mdst"
	MST                      = "mst"
	NQUEENS                  = "nqueens"
	NUMBER_PARTITION         = "numberpartition"
	NURSE_SCHED              = "nurse"
	OPENSHOP_SCHED           = "openshop"
	QBAP                     = "qbap"
	QKP                      = "qkp"
	QUAD_ASSIGNMENT          = "quadassignment"
	RESOURCE_OPT             = "resource"
	SCENE_ALLOCATION         = "scene"
	SET_COVER                = "setcover"
	SET_PACKING              = "setpacking"
	SET_SPLITTING            = "setsplit"
	SHORTEST_PATH            = "shortestpath"
	STEINER_TREE             = "steiner"
	SUBSET_SUM               = "subsetsum"
	TOPOLOGICAL              = "topological"
	TSP                      = "tsp"
	VERTEX_COVER             = "vertexcover"
	WAREHOUSE                = "warehouse"
	WEAPON                   = "weapon"
	WIDEST_PATH              = "widestpath"
)

Variables

View Source
var Creator = map[string]func(int) *discrete.Problem{
	ACTIVITY_SELECTION:       ActivitySelection,
	ASSIGNMENT:               Assignment,
	BIN_COVER:                BinCover,
	BIN_PACKING:              BinPacking,
	BINARY_PAINTSHOP:         BinaryPaintShop,
	CAR_PAINT:                CarPainting,
	CAR_SEQUENCE:             CarSequencing,
	CLIQUE:                   Clique,
	CLIQUE_COVER:             CliqueCover,
	COMPLETE_COLOR:           CompleteColoring,
	DOMINATING_SET:           DominatingSet,
	EDGE_COLOR:               EdgeColoring,
	EDGE_COVER:               EdgeCover,
	EDGE_DOMINATING_SET:      EdgeDominatingSet,
	EFFICIENT_DOMINATING_SET: EfficientDominatingSet,
	EULER_CYCLE:              EulerCycle,
	EULER_PATH:               EulerPath,
	EXACT_COVER:              ExactCover,
	FLOWSHOP_SCHED:           FlowShopSchedule,
	GEN_ASSIGNMENT:           GeneralizedAssignment,
	GRAPH_COLOR:              GraphColoring,
	GRAPH_PARTITION:          GraphPartition,
	HAMILTON_PATH:            HamiltonPath,
	HAMILTON_CYCLE:           HamiltonCycle,
	HARMONIOUS_COLOR:         HarmoniousColoring,
	INDEPENDENT_SET:          IndependentSet,
	JOBSHOP_SCHED:            JobShopSchedule,
	K_CENTER:                 KCenter,
	KNAPSACK:                 Knapsack,
	LANGFORD_PAIR:            LangfordPair,
	LBAP:                     LinearBottleneckAssignment,
	LIS:                      LongestIncreasingSubsequence,
	LONGEST_PATH:             LongestPath,
	MAGIC_SERIES:             MagicSeries,
	MAX_CARDINALITY_MATCH:    MaxCardinalityMatching,
	MAX_WEIGHT_MATCH:         MaxWeightMatching,
	MINIMAX_PATH:             MinimaxPath,
	MDST:                     MinDegreeSpanningTree,
	MST:                      MinimumSpanningTree,
	NQUEENS:                  NQueens,
	NUMBER_PARTITION:         NumberPartition,
	NURSE_SCHED:              NurseSchedule,
	OPENSHOP_SCHED:           OpenShopSchedule,
	QBAP:                     QuadraticBottleneckAssignment,
	QKP:                      QuadraticKnapsack,
	QUAD_ASSIGNMENT:          QuadraticAssignment,
	RESOURCE_OPT:             ResourceOptimization,
	SCENE_ALLOCATION:         SceneAllocation,
	SET_COVER:                SetCover,
	SET_PACKING:              SetPacking,
	SET_SPLITTING:            SetSplitting,
	SHORTEST_PATH:            ShortestPath,
	STEINER_TREE:             SteinerTree,
	SUBSET_SUM:               SubsetSum,
	TOPOLOGICAL:              TopologicalSort,
	TSP:                      TravelingSalesman,
	VERTEX_COVER:             VertexCover,
	WAREHOUSE:                WarehouseLocation,
	WEAPON:                   WeaponTarget,
	WIDEST_PATH:              WidestPath,
}

Functions

func ActivitySelection

func ActivitySelection(n int) *discrete.Problem

Create new Activity Selection problem

func Assignment

func Assignment(n int) *discrete.Problem

Create new Assignment problem

func BinCover

func BinCover(n int) *discrete.Problem

Create new Bin Cover problem

func BinPacking

func BinPacking(n int) *discrete.Problem

Create new Bin Packing problem

func BinaryPaintShop

func BinaryPaintShop(n int) *discrete.Problem

Create new Binary Paintshop problem

func CarPainting

func CarPainting(n int) *discrete.Problem

Create new Car Paint problem

func CarSequencing

func CarSequencing(n int) *discrete.Problem

Create new Car Sequencing problem

func Clique

func Clique(n int) *discrete.Problem

Create new Clique problem

func CliqueCover

func CliqueCover(n int) *discrete.Problem

Create new Clique Cover problem

func CompleteColoring

func CompleteColoring(n int) *discrete.Problem

Create new Complete Coloring problem

func DominatingSet

func DominatingSet(n int) *discrete.Problem

Create new Dominating Set problem

func EdgeColoring

func EdgeColoring(n int) *discrete.Problem

Create new Edge Coloring problem

func EdgeCover

func EdgeCover(n int) *discrete.Problem

Create new Edge Cover problem

func EdgeDominatingSet

func EdgeDominatingSet(n int) *discrete.Problem

Create new Edge Dominating Set problem

func EfficientDominatingSet

func EfficientDominatingSet(n int) *discrete.Problem

Create new Efficient Dominating Set problem

func EulerCycle

func EulerCycle(n int) *discrete.Problem

Create new Eulerian Cycle problem

func EulerPath

func EulerPath(n int) *discrete.Problem

Create new Eulerian Path problem

func ExactCover

func ExactCover(n int) *discrete.Problem

Create new Exact Cover problem

func FlowShopSchedule

func FlowShopSchedule(n int) *discrete.Problem

Create Flow Shop Schedule problem

func GeneralizedAssignment

func GeneralizedAssignment(n int) *discrete.Problem

Create new Generalized Assignment problem

func GraphColoring

func GraphColoring(n int) *discrete.Problem

Create new Graph Coloring problem

func GraphPartition

func GraphPartition(n int) *discrete.Problem

Create new Graph Partition problem

func HamiltonCycle

func HamiltonCycle(n int) *discrete.Problem

Create new Hamilton Cycle problem

func HamiltonPath

func HamiltonPath(n int) *discrete.Problem

Create new Hamiltonian Path problem

func HarmoniousColoring

func HarmoniousColoring(n int) *discrete.Problem

Create new Harmonious Coloring problem

func IndependentSet

func IndependentSet(n int) *discrete.Problem

Create new Independent Set problem

func JobShopSchedule

func JobShopSchedule(n int) *discrete.Problem

Create new Job Shop Schedule problem

func KCenter

func KCenter(n int) *discrete.Problem

Create new K-Center problem

func Knapsack

func Knapsack(n int) *discrete.Problem

Create new 0-1 Knapsack problem

func LangfordPair

func LangfordPair(n int) *discrete.Problem

Create new Langford Pair problem

func LinearBottleneckAssignment

func LinearBottleneckAssignment(n int) *discrete.Problem

Create new Linear Bottleneck Assignment problem

func LongestIncreasingSubsequence

func LongestIncreasingSubsequence(n int) *discrete.Problem

Create new Longest Increasing Subsequence problem

func LongestPath

func LongestPath(n int) *discrete.Problem

Create new Longest Path problem

func MagicSeries

func MagicSeries(n int) *discrete.Problem

Create new Magic Series problem

func MaxCardinalityMatching

func MaxCardinalityMatching(n int) *discrete.Problem

Create new Max Cardinality Matching problem

func MaxWeightMatching

func MaxWeightMatching(n int) *discrete.Problem

Create new Max Weight Matching problem

func MinDegreeSpanningTree

func MinDegreeSpanningTree(n int) *discrete.Problem

Create new Min-Degree Spanning Tree problem

func MinimaxPath

func MinimaxPath(n int) *discrete.Problem

Create new Minimax Path problem

func MinimumSpanningTree

func MinimumSpanningTree(n int) *discrete.Problem

Create new Minimum Spanning Tree problem

func NQueens

func NQueens(n int) *discrete.Problem

Create new N-Queens problem

func NumberPartition

func NumberPartition(n int) *discrete.Problem

Create new Number Partition problem

func NurseSchedule

func NurseSchedule(n int) *discrete.Problem

Create new Nurse Schedule problem

func OpenShopSchedule

func OpenShopSchedule(n int) *discrete.Problem

Create new Open Shop Schedule problem

func QuadraticAssignment

func QuadraticAssignment(n int) *discrete.Problem

Create new Quadratic Assignment problem

func QuadraticBottleneckAssignment

func QuadraticBottleneckAssignment(n int) *discrete.Problem

Create new Quadratic Bottleneck Assignment problem

func QuadraticKnapsack

func QuadraticKnapsack(n int) *discrete.Problem

Create new Quadratic Knapsack problem

func ResourceOptimization

func ResourceOptimization(n int) *discrete.Problem

Create new Resource Optimization problem

func SceneAllocation

func SceneAllocation(n int) *discrete.Problem

Create new Scene Allocation problem

func SetCover

func SetCover(n int) *discrete.Problem

Create new Set Cover problem

func SetPacking

func SetPacking(n int) *discrete.Problem

Create new Set Packing problem

func SetSplitting

func SetSplitting(n int) *discrete.Problem

Create new Max Set Splitting problem

func ShortestPath

func ShortestPath(n int) *discrete.Problem

Create new Shortest Path problem

func SteinerTree

func SteinerTree(n int) *discrete.Problem

Create new Steiner Tree problem

func SubsetSum

func SubsetSum(n int) *discrete.Problem

Create new Subset Sum problem

func TopologicalSort

func TopologicalSort(n int) *discrete.Problem

Create new Topological Sort problem

func TravelingSalesman

func TravelingSalesman(n int) *discrete.Problem

Create new Traveling Salesman problem

func VertexCover

func VertexCover(n int) *discrete.Problem

Create new Vertex Cover problem

func WarehouseLocation

func WarehouseLocation(n int) *discrete.Problem

Create new Warehouse Location problem

func WeaponTarget

func WeaponTarget(n int) *discrete.Problem

Create new Weapon Target Assignment problem

func WidestPath

func WidestPath(n int) *discrete.Problem

Create new Widest Path problem

Types

This section is empty.

Jump to

Keyboard shortcuts

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