chiark / gitweb /
bug fix in MMA for infeasible starting point -- feasible points always take precedenc...
authorstevenj <stevenj@alum.mit.edu>
Tue, 11 Nov 2008 22:10:32 +0000 (17:10 -0500)
committerstevenj <stevenj@alum.mit.edu>
Tue, 11 Nov 2008 22:10:32 +0000 (17:10 -0500)
darcs-hash:20081111221032-c8de0-c23046ac2c38fd7781ba3d7b1e6334126ca9e344.gz

mma/mma.c

index 604d45d8c60754e4a2bc1e77da3c28a9f0babeca..a611a1cac3403f6beae1d6e7e1053a02128f6594 100644 (file)
--- a/mma/mma.c
+++ b/mma/mma.c
@@ -297,7 +297,8 @@ nlopt_result mma_minimize(int n, nlopt_func f, void *f_data,
                    }
               }
 
-              if (fcur < *minf && (inner_done || feasible_cur || !feasible)) {
+              if ((fcur < *minf && (inner_done || feasible_cur || !feasible))
+                   || (!feasible && feasible_cur)) {
                    if (mma_verbose && !feasible_cur)
                         printf("MMA - using infeasible point?\n");
                    dd.fval = *minf = fcur;