I have a linear programming problem to solve. It looks like:
zx = max z
s.t. z ≤ c*y1 + y1*x
z ≤ c*y2 + y2*x
Σ x ≤ 5
Where:
c = 0
1
1
100
1
0
1
1
1
1
0
1
100
1
1
0
y1 = 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
y2 = 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0.
x is an array of 16 numbers.
The result should be optimized for x.
How do I solve it using Matlab?

1 Kommentar

John D'Errico
John D'Errico am 27 Jul. 2020
Bearbeitet: John D'Errico am 27 Jul. 2020
This question is morphing too many times, now on the third variation. I've closed the other copy of this question. Please stop reposting new duplicate questions if your question changes agian.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 27 Jul. 2020

0 Stimmen

3 Kommentare

Nika Dolnikava
Nika Dolnikava am 27 Jul. 2020
I want to find y. There are not y in maximum function. So I can't use linprog.
Matt J
Matt J am 27 Jul. 2020
Bearbeitet: Matt J am 27 Jul. 2020
No, you said in your original post that the y variables were known and that you wanted to find x,
"The result should be optimized for x."
linprog is definitely the tool to use. Your problem is very much a linear program and that is the kind of problem that linprog solves. Although, be mindful that z must be solved for as well and therefore z and x must be viewed as part of a single vector of 17 unknowns p=[-z,x]
Nika Dolnikava
Nika Dolnikava am 27 Jul. 2020
It worked! Thank you so much.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by