Как решить эту задачу, как с би-объективной точки зрения? - PullRequest
0 голосов
/ 22 октября 2018

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

image

image

image is the profit that comes from machine j of vendor v.

I have these decision variables defined in the following high-level form:

image = 1 if machine j of vendor v of type t is candidate for client machine i, 0 otherwise.

image = 1 if machine i is of type t, 0 otherwise.

image = 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 image = 1, image = 1 and image = 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 :

image

Several machines from different vendors v and type t could be candidate for client machine i, only one should be taken:

image

I want to make sure that only one type t is selected per vendor v, machine j for each client machine i:

image

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 :

image

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:

image

The specs values of the candidate machine j should be less than the ones requested by machine i:

image

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 ссылка

...