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

3 Ansichten (letzte 30 Tage)
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 Kommentare
John D'Errico
John D'Errico am 22 Mär. 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 am 23 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 23 Mär. 2023
Bearbeitet: Bruno Luong am 23 Mär. 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

Weitere Antworten (0)

Kategorien

Mehr zu Linear Programming and Mixed-Integer Linear Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by