esa / pygmo2

A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
https://esa.github.io/pygmo2/
Mozilla Public License 2.0
422 stars 57 forks source link

[BUG] Conda install unexpected package #69

Closed DTKx closed 3 years ago

DTKx commented 3 years ago

Describe the bug Hello, when trying to use the hypervolume class (https://esa.github.io/pygmo/documentation/hypervolume.html). from pygmo.util import * I face a ModuleNotFoundError: No module named 'pygmo.util'. Indeed when I verify my local files I found an unexpected package, which I tracked down to this source code: https://github.com/esa/pygmo2

I followed the installation process documented here using Conda https://esa.github.io/pygmo2/install.html

 conda config --add channels conda-forge
 conda config --set channel_priority strict
 conda install pygmo

To Reproduce Steps to reproduce the behavior:

  1. Install via Conda
    conda config --add channels conda-forge
    conda config --set channel_priority strict
    conda install pygmo
  2. In Python conda env from pygmo.util import *
  3. See error ModuleNotFoundError: No module named 'pygmo.util'

Expected behavior I would expect no errors, a normal package import.

Screenshots

Environment (please complete the following information):

Additional context

>>> from pygmo.util import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pygmo.util'
>>> import pygmo
>>> pygmo.test.run_test_suite()
runTest (pygmo.test.core_test_case) ... ok
runTest (pygmo._bfe_test.bfe_test_case) ... ok
runTest (pygmo._bfe_test.thread_bfe_test_case) ... ok
runTest (pygmo._bfe_test.member_bfe_test_case) ... ok
runTest (pygmo._bfe_test.mp_bfe_test_case) ... ok
runTest (pygmo._bfe_test.ipyparallel_bfe_test_case) ... Waiting for connection file: ~\.ipython\profile_default\security\ipcontroller-client.json
ok
runTest (pygmo._bfe_test.default_bfe_test_case) ... ok
runTest (pygmo.test.archipelago_test_case) ... ok
runTest (pygmo._island_test.island_test_case) ... ok
runTest (pygmo._s_policy_test.s_policy_test_case) ... ok
runTest (pygmo._r_policy_test.r_policy_test_case) ... ok
runTest (pygmo._topology_test.topology_test_case) ... ok
runTest (pygmo.test.fair_replace_test_case) ... ok
runTest (pygmo.test.select_best_test_case) ... ok
runTest (pygmo.test.unconnected_test_case) ... ok
runTest (pygmo.test.ring_test_case) ... ok
runTest (pygmo.test.free_form_test_case) ... ok
runTest (pygmo.test.fully_connected_test_case) ... ok
runTest (pygmo.test.thread_island_test_case) ... ok
runTest (pygmo.test.thread_island_torture_test_case) ... ok
runTest (pygmo._problem_test.problem_test_case) ... ok
runTest (pygmo._algorithm_test.algorithm_test_case) ... C:\Users\Debs\anaconda3\envs\planningenv\lib\site-packages\scipy\optimize\_minimize.py:524: RuntimeWarning: Method L-BFGS-B does not use Hessian information (hess).
  warn('Method %s does not use Hessian information (hess).' % method,
C:\Users\Debs\anaconda3\envs\planningenv\lib\site-packages\scipy\optimize\_trustregion_constr\projections.py:181: UserWarning: Singular Jacobian matrix. Using SVD decomposition to perform the factorizations.
  warn('Singular Jacobian matrix. Using SVD decomposition to ' +
C:\Users\Debs\anaconda3\envs\planningenv\lib\site-packages\scipy\optimize\_hessian_update_strategy.py:182: UserWarning: delta_grad == 0.0. Check if the approximated function is linear. If the function is linear better results can be obtained by defining the Hessian as zero instead of using quasi-Newton approximations.
  warn('delta_grad == 0.0. Check if the approximated '
C:\Users\Debs\anaconda3\envs\planningenv\lib\site-packages\pygmo\_py_algorithms.py:527: UserWarning: Problem Hock Schittkowsky 71 has constraints and hessians, but trust-constr requires the callable to also accept lagrange multipliers. Thus, hessians of constraints are ignored.
  warnings.warn(
C:\Users\Debs\anaconda3\envs\planningenv\lib\site-packages\scipy\optimize\_minimize.py:524: RuntimeWarning: Method SLSQP does not use Hessian information (hess).
  warn('Method %s does not use Hessian information (hess).' % method,
ok
runTest (pygmo._island_test.mp_island_test_case) ... ok
runTest (pygmo._island_test.ipyparallel_island_test_case) ... Waiting for connection file: ~\.ipython\profile_default\security\ipcontroller-client.json
ok
runTest (pygmo.test.golomb_ruler_test_case) ... ok
runTest (pygmo.test.lennard_jones_test_case) ... ok
runTest (pygmo.test.de_test_case) ... ok
runTest (pygmo.test.nsga2_test_case) ... ok
runTest (pygmo.test.gaco_test_case) ... ok
runTest (pygmo.test.gwo_test_case) ... ok
runTest (pygmo.test.de1220_test_case) ... ok
runTest (pygmo.test.sea_test_case) ... ok
runTest (pygmo.test.pso_test_case) ... ok
runTest (pygmo.test.pso_gen_test_case) ... ok
runTest (pygmo.test.bee_colony_test_case) ... ok
runTest (pygmo.test.compass_search_test_case) ... ok
runTest (pygmo.test.sa_test_case) ... ok
runTest (pygmo.test.moead_test_case) ... ok
runTest (pygmo.test.sga_test_case) ... ok
runTest (pygmo.test.ihs_test_case) ... ok
runTest (pygmo.test.population_test_case) ... ok
runTest (pygmo.test.null_problem_test_case) ... ok
runTest (pygmo.test.hypervolume_test_case) ... ok
runTest (pygmo.test.mo_utils_test_case) ... ok
runTest (pygmo.test.con_utils_test_case) ... ok
runTest (pygmo.test.global_rng_test_case) ... ok
runTest (pygmo.test.estimate_sparsity_test_case) ... ok
runTest (pygmo.test.estimate_gradient_test_case) ... ok
runTest (pygmo.test.random_decision_vector_test_case) ... ok
runTest (pygmo.test.batch_random_decision_vector_test_case) ... ok
runTest (pygmo.test.cmaes_test_case) ... ok
runTest (pygmo.test.xnes_test_case) ... ok
runTest (pygmo.test.dtlz_test_case) ... ok
runTest (pygmo.test.cec2006_test_case) ... ok
runTest (pygmo.test.cec2009_test_case) ... ok
runTest (pygmo.test.cec2013_test_case) ... ok
runTest (pygmo.test.cec2014_test_case) ... ok
runTest (pygmo.test.luksan_vlcek1_test_case) ... ok
runTest (pygmo.test.minlp_rastrigin_test_case) ... ok
runTest (pygmo.test.rastrigin_test_case) ... ok
runTest (pygmo.test.translate_test_case) ... ok
runTest (pygmo.test.decompose_test_case) ... ok
runTest (pygmo.test.unconstrain_test_case) ... ok
runTest (pygmo.test.mbh_test_case) ... ok
runTest (pygmo.test.cstrs_self_adaptive_test_case) ... ok
runTest (pygmo.test.decorator_problem_test_case) ... ok
runTest (pygmo.test.wfg_test_case) ... ok
runTest (pygmo.test.nlopt_test_case) ...
 objevals:        objval:      violated:    viol. norm:
         1         146149             18        691.455 i
         6        73021.9             18        2267.21 i
        11         692.87             18        18.8293 i
        16        13.7193             12      0.0835552 i
        21        6.23246              0              0

Optimisation return status: NLOPT_XTOL_REACHED (value = 4, Optimization stopped because xtol_rel or xtol_abs was reached)

 objevals:        objval:      violated:    viol. norm:
         1         192142             18        788.428 i
         6        1058.66             18        23.5218 i
        11        40.2466             12       0.423955 i
        16       0.512001              5      0.0350397 i
        21    1.55952e-13              0              0

Optimisation return status: NLOPT_XTOL_REACHED (value = 4, Optimization stopped because xtol_rel or xtol_abs was reached)
ok
runTest (pygmo.test.ipopt_test_case) ...
******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit https://github.com/coin-or/Ipopt
******************************************************************************

 objevals:        objval:      violated:    viol. norm:
         1         217330             18        678.508 i
         6        107.986             18        4.81889 i
        11        6.23246              0              0

Optimisation return status: Solve_Succeeded (value = 0)

 objevals:        objval:      violated:    viol. norm:
         1         249667             18        674.318 i
         6        526.836             18        6.70519 i
        11        90.7682              6       0.437948 i
        16     0.00068101              3    0.000356771 i

Optimisation return status: Solve_Succeeded (value = 0)
ok

----------------------------------------------------------------------
Ran 69 tests in 96.544s

OK
bluescarni commented 3 years ago

@DTKx your first link refers to the documentation of pagmo 1.x, which is discontinued.

The docs for the hypervolume utilities in pygmo2 are here:

https://esa.github.io/pygmo2/hv_utils.html