Unreliable Dependecies resolution

Description

Running same command to install packages >2 times yields different results:
first run:

$ aurman -S nsis 
~~ initializing aurman...
~~ calculating solutions...

!! While searching for solutions the following errors occurred:
:: Conflicts between: mingw-w64-winpthreads-5.0.4-1, mingw-w64-headers-bootstrap-5.0.3-1
While trying to install mingw-w64-winpthreads, the needed dependency mingw-w64-gcc has been removed
Way to package mingw-w64-winpthreads-5.0.4-1: nsis-3.03-1 -> mingw-w64-gcc-8.2.0-1 -> mingw-w64-winpthreads-5.0.4-1
Way to package mingw-w64-headers-bootstrap-5.0.3-1: nsis-3.03-1 -> mingw-w64-gcc-8.2.0-1 -> mingw-w64-winpthreads-5.0.4-1 -> mingw-w64-gcc-base-8.2.0-1 -> mingw-w64-headers-bootstrap-5.0.3-1

!! we could not find a solution
!! if you think that there should be one, rerun aurman with the --deep_search flag

Second run:

$ aurman -S nsis
~~ initializing aurman...
~~ calculating solutions...

:: The following 8 package(s) are getting installed:
   core/gcc-ada               /  ->  8.2.0-2
   aur/mingw-w64-binutils     /  ->  2.31.1-1
   aur/mingw-w64-crt          /  ->  5.0.4-1
   aur/mingw-w64-gcc          /  ->  8.2.0-1
   aur/mingw-w64-headers      /  ->  5.0.4-2
   aur/mingw-w64-winpthreads  /  ->  5.0.4-1
   aur/mingw-w64-zlib         /  ->  1.2.11-1
   aur/nsis                   /  ->  3.03-1

~~ The following will be done:
   Install   : mingw-w64-binutils
   Install   : mingw-w64-headers
   Install   : mingw-w64-winpthreads
   Install   : gcc-ada
   Install   : mingw-w64-gcc
   Install   : mingw-w64-crt
   Install   : mingw-w64-zlib
   Install   : nsis

?? Do you want to continue? Y/n: 

Third run

$ aurman -S nsis --solution_way
~~ initializing aurman...
~~ calculating solutions...

:: The following 13 package(s) are getting installed:
   aur/cloog                  /  ->  0.19.0-1
   core/gcc-ada               /  ->  8.2.0-2
   extra/glpk                 /  ->  4.65-2
   aur/isl                    /  ->  0.20-4
   aur/mingw-w64-binutils     /  ->  2.31.1-1
   aur/mingw-w64-crt          /  ->  5.0.4-1
   aur/mingw-w64-gcc          /  ->  8.2.0-1
   aur/mingw-w64-headers      /  ->  5.0.4-2
   aur/mingw-w64-winpthreads  /  ->  5.0.4-1
   aur/mingw-w64-zlib         /  ->  1.2.11-1
   aur/nsis                   /  ->  3.03-1
   aur/osl                    /  ->  0.9.2-2
   community/ppl              /  ->  1.2-2

~~ The following will be done:
   Install   : gcc-ada
   Install   : mingw-w64-binutils
   Install   : mingw-w64-headers
   Install   : osl
   Install   : isl
   Install   : cloog
   Install   : mingw-w64-winpthreads
   Install   : glpk, ppl
   Install   : mingw-w64-gcc-base
   Install   : mingw-w64-crt
   Remove    : mingw-w64-gcc-base
   Install   : mingw-w64-gcc
   Install   : mingw-w64-zlib
   Install   : nsis

?? Do you want to continue? Y/n: 

So I decided to run with `--deep_search and here what i've got from 2 runs:

$ aurman -S nsis --solution_way --deep_search
~~ initializing aurman...
~~ calculating solutions...

:: The following 8 package(s) are getting installed:
   core/gcc-ada               /           ->  8.2.0-2
   aur/mingw-w64-binutils     /           ->  2.31.1-1
   aur/mingw-w64-crt          /           ->  5.0.4-1
   aur/mingw-w64-gcc          /           ->  8.2.0-1
   aur/mingw-w64-headers      /           ->  5.0.4-2
   aur/mingw-w64-winpthreads  /           ->  5.0.4-1
   aur/mingw-w64-zlib         /           ->  1.2.11-1
   aur/nsis                   /           ->  3.03-1

~~ The following will be done:
:: You are using --deep_search, hence --needed is active.
:: That means packages to be reinstalled will not actually be reinstalled.
   Reinstall : filesystem, gcc-libs, glibc, iana-etc, linux-api-headers, tzdata
   Install   : mingw-w64-headers
   Reinstall : zlib
   Install   : mingw-w64-binutils
   Install   : mingw-w64-winpthreads
   Reinstall : bash, binutils, gcc, gmp, libmpc, mpfr, ncurses, readline
   Install   : gcc-ada
   Install   : mingw-w64-gcc
   Install   : mingw-w64-crt
   Install   : mingw-w64-zlib
   Reinstall : bzip2, db, e2fsprogs, expat, gdbm, keyutils, krb5, libffi, libldap, libnsl, libsasl, libtirpc, libutil-linux, openssl, perl, python2, scons, sqlite
   Install   : nsis

?? Do you want to continue? Y/n: 

and

$ aurman -S nsis --solution_way --deep_search                         
~~ initializing aurman...
~~ calculating solutions...

:: The following 13 package(s) are getting installed:
   aur/cloog                     /                     ->  0.19.0-1
   core/gcc-ada                  /                     ->  8.2.0-2
   extra/glpk                    /                     ->  4.65-2
   aur/isl                       /                     ->  0.20-4
   aur/mingw-w64-binutils        /                     ->  2.31.1-1
   aur/mingw-w64-crt             /                     ->  5.0.4-1
   aur/mingw-w64-gcc             /                     ->  8.2.0-1
   aur/mingw-w64-headers         /                     ->  5.0.4-2
   aur/mingw-w64-winpthreads     /                     ->  5.0.4-1
   aur/mingw-w64-zlib            /                     ->  1.2.11-1
   aur/nsis                      /                     ->  3.03-1
   aur/osl                       /                     ->  0.9.2-2
   community/ppl                 /                     ->  1.2-2

~~ The following will be done:
:: You are using --deep_search, hence --needed is active.
:: That means packages to be reinstalled will not actually be reinstalled.
   Reinstall : bash, filesystem, gcc-libs, glibc, gmp, iana-etc, libmpc, linux-api-headers, mpfr, ncurses, readline, tzdata, zlib
   Install   : mingw-w64-binutils
   Install   : mingw-w64-headers
   Install   : glpk, ppl
   Install   : mingw-w64-winpthreads
   Install   : osl
   Reinstall : acl, attr, bzip2, ca-certificates, ca-certificates-cacert, ca-certificates-mozilla, ca-certificates-utils, cairo, coreutils, cracklib, curl, db, e2fsprogs, expat, findutils, fontconfig, freetype2, gd, gdbm, giflib, git, glib2, graphite, grep, harfbuzz, harfbuzz-icu, icu, keyutils, krb5, lcms2, libcap, libffi, libgcrypt, libgpg-error, libice, libidn2, libjpeg-turbo, libldap, libnghttp2, libpaper, libpng, libpsl, libsasl, libsigsegv, libsm, libssh2, libsynctex, libsystemd, libtasn1, libtiff, libtirpc, libunistring, libutil-linux, libwebp, libx11, libxau, libxaw, libxcb, libxdmcp, libxext, libxmu, libxpm, libxrender, libxt, lz4, lzo, nspr, nss, openjpeg2, openssl, p11-kit, pam, pambase, pcre, pcre2, perl, perl-error, perl-mailtools, perl-timedate, pixman, poppler, potrace, run-parts, shadow, sqlite, t1lib, texlive-bin, texlive-core, xcb-proto, xorgproto, xz, zziplib
   Install   : isl
   Install   : cloog
   Install   : mingw-w64-gcc-base
   Install   : mingw-w64-crt
   Reinstall : binutils, gcc
   Install   : gcc-ada
   Remove    : mingw-w64-gcc-base
   Install   : mingw-w64-gcc
   Install   : mingw-w64-zlib
   Reinstall : libnsl, python2, scons
   Install   : nsis

?? Do you want to continue? Y/n: 

Expected Behavior

Solution for package dependencies must be same for each run since there is no changes in packages installed between tries.

Version of aurman you are using

Distro - Arch