ds4dm / ecole

Extensible Combinatorial Optimization Learning Environments
https://www.ecole.ai
BSD 3-Clause "New" or "Revised" License
321 stars 68 forks source link

Getting unreasonably large values for the Khalil feature rows_neg_coefs_mean #356

Open SelinBayramoglu opened 1 year ago

SelinBayramoglu commented 1 year ago

Hello,

When extracting Khalil2016 features for the attached instance, I get very large positive values for the rows_neg_coefs_mean feature (feature id: 14) such as 1.15292150e+18. As a result, rows_neg_coefs_stddev (feature id: 15) has values on the same order.

Describe the bug

instance_1.lp.txt

Setting

To Reproduce

After renaming the instance file to "instance_1.lp", place it in your working directory and run the following script: `import ecole env = ecole.environment.Branching(observation_function=ecole.observation.Khalil2016()) env.seed(0)

filename = "instance_1.lp"

observation, actionset, , done, _ = env.reset(filename) while not done: var_feats = observation.features print(var_feats[:,14]) break`

Expected behavior

I expect negative values for rows_neg_coefs_mean of much smaller magnitude

stardustwls commented 1 year ago

The same bug happens when i use the Khalil feature.

Yufei-Kuang commented 1 year ago

I found the same issue when use the code. The Khali features have 72 dimensions in total. However, I found the dimensions from 48 to 65 can usually be either np.inf or np.nan.

gasse commented 1 year ago

This bug might have been fixed by #343, which was merged in the master branch. Unfortunately these changes are not present in the latest stable release, there is a bunch of stuff that has been refactored in master and have not been tested thoroughly.

I suggest two options, which both require to install from source (see instructions here):

I'm sorry this comes a bit late and I can't offer further assistance. Hope it helps anyway