Попытка решить задачу, подобную задаче с би-объективной точки зрения.Я играю с этой моделью только для учебных и практических целей.У меня есть две функции стоимости, определенные как:


is the profit that comes from machine j of vendor v.
I have these decision variables defined in the following high-level form:
= 1 if machine j of vendor v of type t is candidate for client machine i, 0 otherwise.
= 1 if machine i is of type t, 0 otherwise.
= 1 vendor v is selected, 0 otherwise.
Since I have the type of client machines (a total of 3) given as input, I set the values of
= 1,
= 1 and
= 1.
I would like to have a one-to-one mapping between machines candidates and client machines. One machine j from vendor v and type t should be candidate for machine client i :
)
Several machines from different vendors v and type t could be candidate for client machine i, only one should be taken:
)
I want to make sure that only one type t is selected per vendor v, machine j for each client machine i:
)
I want to make sure when a vendor v is selected then corresponding candidate machines comes from it otherwise no machine is candidate if a vendor is not selected :
)
I want to make sure when a candidate machine j from vendor v is candidate then its corresponding type matches the type t of client machine i:
)
The specs values of the candidate machine j should be less than the ones requested by machine i:
![Y_{v,t}^{j,i}\; * Specs_{j}[k]$ \leq $Specs_{i}[k]$ $\forall i,\;\forall j,\;\forall t,\;\forall v, \;\forall k (C6) image](https://latex.codecogs.com/gif.latex?Y_%7Bv,t%7D%5E%7Bj,i%7D%5C;&space;*&space;Specs_%7Bj%7D[k]$&space;%5Cleq&space;$Specs_%7Bi%7D[k]$&space;$%5Cforall&space;i,%5C;%5Cforall&space;j,%5C;%5Cforall&space;t,%5C;%5Cforall&space;v,&space;%5C;%5Cforall&space;k&space;(C6))
I am not sure why it selects only one vendor and returns several Y variables instead of only some of them with the corresponding type of the client's machine.
I am not able to spot my mistake and how to handle this issue, any help would be appreciated. I attached the model in its lp format (vendors) and the output (gurobi_output) got from gurobi following this ссылка