Skip to content
This repository was archived by the owner on Jul 12, 2026. It is now read-only.
This repository was archived by the owner on Jul 12, 2026. It is now read-only.

Maxcut for graph with non-consecutive nodes/verticies #578

Description

@Siheon-Park

What should we add?

Problem

qiskit_optimization.applications.max_cut.Maxcut cannot work along with the graph non-consecutive nodes (e.g. V={0, 1, 4, 5}). This may result in minor inconvenience when we create graph and then remove nodes, such as isolated nodes. Obviously, it is not necessary to keep isolated nodes (i.e., nodes not connected to any other nodes) for max-cut problem and waste qubits.

Solution

Simply replace line 44 in file qiskit_optimization.applications.max_cut.py in current git version (2b5c37b) from

x = {i: mdl.binary_var(name=f"x_{i}") for i in range(self._graph.number_of_nodes())}

to

x = {node: mdl.binary_var(name=f"x_{node}") for node in list(self._graph.nodes)}

See my forked repo

Test

It is so simple that it does not require testing. This is also the reason why I made issue instead of pull request; only a single line changed. However, it is bugging me that I have to inherit the well-made Maxcut class every time to insert this feature.
It would be great to add this line of code to this repo to be feasible with non-consecutive nodes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions