Is it possible to solve the problem on a permutation set with MATLAB tools?

4 views (last 30 days)
Example: We have a function f(x), a set of elements that forms permutation set A(1,2,3). There are some additional linear limitations, that define the range of permissible values of the target function. The problem is to find maximum of the target funtion on permutation set A₃². And if so, by which algorithm?
  3 Comments
John D'Errico
John D'Errico on 22 Mar 2023
My guess is, you have some function of a permutation of the set of integers 1:n, and you want to find the permutation that yields a maximal value over the set of all permutations?
Assume this is the case, as long as the permutation set is no larger than 18, then there is a unique mapping from the set of permutations into the set of integers 0:factorial(n)-1.
So use a tool like GA to solve for the optimal permutation.
potato curious
potato curious on 23 Mar 2023
@Torsten, I have function like f(x) = 4x₁+3x₂ and constraints like 3x₁+5x₂<=20, x₁+6x₂>=30. And need to find which permutation gives a maximum value of the function.

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 23 Mar 2023
Edited: Bruno Luong on 23 Mar 2023
@potato curious I have function like f(x) = 4x₁+3x₂ and constraints like 3x₁+5x₂<=20, x₁+6x₂>=30. And need to find which permutation gives a maximum value of the function.
I believe you can reformulate as integer linear programing with decision variable as elements of permutation matrix P (the number of decision variables is the square of the cardinal of your set).
Let assume as example you set is s = { 23, 3 }
P = 2 x 2 non negative integer matrix such that
sum(P,1) = 1
sum(P,2) = 1;
x := P * s
dot(x, [3; 5]) <= 20
dot(x, [1; 6]) >= 30
minimize f := -dot(c, x) with c = [4; 3]
Use intlinprog to solve it

More Answers (0)

Categories

Find more on Linear Programming and Mixed-Integer Linear Programming in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!