- The reason for the less than ideal numerical properties of the exact dual solution for the Hessian with
cross_good_congestion = truein v0.1.9 was that the sparse hessian had too few elements. This release fixes the problem by adding some additional off-diagonal elements to the sparse hesssian. The heuristic algorithm is now removed as the exact one always gives better solves (duality = trueandduality = 2both call the exact algorithm now).
- The exact dual solution for the Hessian with
cross_good_congestion = truedoes not have good numerical properties in some cases. Therefore, by default now an approximate solution is used which works better for most problems. Users can setduality = 2to use the exact solution in the CGC case.
- Fixed dual solution with
cross_good_congestion = true, and set the defaultduality = trueininit_parameters(). It is highly recommended to keepbeta <= 1in fixed labor cases to harness the dual solutions, which yield a tremendous speedup.
- If
duality = true, ininit_parameters()(andlabor_mobility = false- no dual solutions available for mobile labor cases), a new direct dual implementation of the model is used (with hard-coded sparse hessians passed directly to Ipopt) which is significantly faster than any other means of solving the model (10x speedup). However, withcross_good_congestion = true, the dual solution may be inaccurate. This may be fixed in the future.
- All spatial parameters, including
Lj,Lr,Hj,hj,Zjn,omegaj,omegar, andregionare now stored in thegraphstructure created bycreate_graph().create_graph()therefore only returns thegraphstructure, instead of both the (updated) parameters and the graph. Converesely,init_parameters()only contains parameters that are independent of the particular geography defined bycreate_graph().
- Minor improvements to Simulated Annealing.
- Better spline options for plotting frictions surface (geography).
- More faithful translation of
apply_geography().
- Removed the MATLAB toolbox and corresponding documentation (PDF files) from the repo to decrease size. A new repo was created for the MATLAB toolbox at SebKrantz/OptimalTransportNetworkToolbox. This repo and especially the
docsfolder continue to be very useful for Julia users, but are no longer part of the Julia library.