Is it possible to solve the problem on a permutation set with MATLAB tools?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
potato curious
am 22 Mär. 2023
Bearbeitet: Bruno Luong
am 23 Mär. 2023
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
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.
Akzeptierte Antwort
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
0 Kommentare
Weitere Antworten (0)
Siehe auch
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!