A confused issue with SELKIE for equilibrium problems

Solver related questions
Post Reply
GrayLee
User
User
Posts: 3
Joined: 2 months ago

A confused issue with SELKIE for equilibrium problems

Post by GrayLee » 2 months ago

Dear all,

I am working on a multi-agent-based optimization problem, and I use the game theory to describe the relationship between agents. I found a solver in GAMS named SELKIE which has 'diagonalization method' to find the equilibria between agents. Unfortunately, there is a fatal error shown in the process log when I run my codes, which says "Reading EMPINFO failed (23)". I am confused and I cannot find any relevant solution for this error on the Internet. My codes and necessary Excel documents are attached. When you run the codes, the mentioned errors will be shown. If anyone knows the reason, could you please tell me how to resolve the error?

Thanks in advance for your kindly help!

Best regards,
Hui Li
email: li_hui0312@163.com
Last edited by GrayLee 2 months ago, edited 1 time in total.

User avatar
dirkse
Moderator
Moderator
Posts: 165
Joined: 5 years ago
Location: Fairfax, VA

Re: A confused issue with SELKIE for equilibrium problems

Post by dirkse » 2 months ago

Gray,

I tried the model you sent with the default EMP solver, JAMS. SELKIE is a research code - it doesn't always provide helpful error messages in case there are model formulation or specification errors, but JAMS will give you some help. In this case, JAMS says this:

Code: Select all

*** EMP syntax error: key expected: is Cap_new (item 3 on line 2) but instance not in variable rim
Essentially, your EMP info file says that variable cap_new('1','wind') is owned by the agent minimizing c_total('1'). But because of the dollar conditions in equation power_wind, the model doesn't contain any variable cap_new('1','wind'), hence the error.

The fix is to mention exactly those variables that appear in the model in the EMP info file. You can do this by repeating the dollar conditions from power_wind in the loop statement producing the EMP info file. Or create subsets of g (e.g. gcom(g), gnew(g)) and use those instead of using the dollar condition on ord(g) in so many places.

-Steve

GrayLee
User
User
Posts: 3
Joined: 2 months ago

Re: A confused issue with SELKIE for equilibrium problems

Post by GrayLee » 2 months ago

Dear Dirkse,

Thanks so much for your suggestions! According to your advice, I add some dollar conditions in the loop statement, and the problems related to 'Cap_new' have been resolved. However, I encounter another problem in my code, the error is:

Code: Select all

*** EMP syntax error: key expected: is P_B (item 6 on line 2)
I think the P_B (item 6 on line 2) is necessary, and not needless like Cap_new('1', wind). I checked the file named 'empinfo.dat' but still confused about this issue. Could you please help me again with this problem? The revised codes are attached.

Thanks again for your help!

Best regards,
Hui Li
Email: li_hui0312@163.com
Last edited by GrayLee 2 months ago, edited 1 time in total.

User avatar
dirkse
Moderator
Moderator
Posts: 165
Joined: 5 years ago
Location: Fairfax, VA

Re: A confused issue with SELKIE for equilibrium problems

Post by dirkse » 2 months ago

Hui,

In your EMP info file, your specification of the minimizing agent looks like this:

min <var> <var> <equ> <var>

where the last var is the problematic P_B('1','2','1','1'). This is not a valid way to specify the variables and equations that belong to a minimizing agent. If you just want to indicate ownership and don't have any special VI structure or anything like that, you need to list all the variables first, then the equations.

-Steve

GrayLee
User
User
Posts: 3
Joined: 2 months ago

Re: A confused issue with SELKIE for equilibrium problems

Post by GrayLee » 2 months ago

Dear Dirkse,

Thanks for your timely reply! According to your suggestions, I revised my codes again and resolve the mentioned errors. I think my model doesn't have other errors. However, the solver summary says that ' JAMS Equilibriums cannot handle discrete variables '. The updated codes are attached. Does it mean I cannot use this solver to solve my model including binary variables? If yes, are there any other ways to avoid this problem?

Code: Select all

JAMS Equilibriums cannot handle discrete variables
Thanks again for your patience!

Best regards,
Hui Li

Post Reply