Optimization problem: matlab inbuilt function "getIpOptions" generates an error in fmincon

1 vue (au cours des 30 derniers jours)
This code is used to generated the minimum quantities of two good given a cost constraints. it is a simple optimization problem using "fmincon", however when i run the code i get this problem
%{
Unrecognized function or variable 'getIpOptions'.
Error in fmincon (line 822)
options = getIpOptions(options,sizes.nVar,mEq,flags.constr,defaultopt,10,0.01);
Error in langrangian (line 5)
[x,fval] = fmincon(@volume,[1 1],[],[],[],[],[0 0],[],@mycons);
%}
clear ;
clc;
close all;
[x,fval] = fmincon(@utility,[1 1],[],[],[],[],[0 0],[], @mycons);
% the utility function to be maximimzed
function u = utility(x)
u = x(1)^(1/3)*x(2)^(2/3);
end
% subject to the cost function below
function s = cost(x)
s = 10*x(1) + 4*x(2);
end
function[c,ceq] = mycons(x)
c = cost(x) - 100 ; % the cost function is less than 100 (equality constraint)
ceq = [] ; % we dont have non-linear equality constraints
end

Réponse acceptée

Alan Weiss
Alan Weiss le 1 Juin 2020
You are trying to maximize utility, so you should minimize the negative of the utility. The following code runs without error for me:
[x,fval] = fmincon(@utility,[1 1],[],[],[],[],[0 0],[], @mycons)
% the utility function to be maximimzed
function u = utility(x)
u = x(1)^(1/3)*x(2)^(2/3);
u = -u;
end
% subject to the cost function below
function s = cost(x)
s = 10*x(1) + 4*x(2);
end
function[c,ceq] = mycons(x)
c = cost(x) - 100 ; % the cost function is less than 100 (equality constraint)
ceq = [] ; % we dont have non-linear equality constraints
end
Alan Weiss
MATLAB mathematical toolbox documentation
  3 commentaires
Alan Weiss
Alan Weiss le 1 Juin 2020
You might need to reinstall MATLAB®. Or at least Optimization Toolbox™.
Alan Weiss
MATLAB mathematical toolbox documentation
suleiman abdullahi
suleiman abdullahi le 1 Juin 2020
Modifié(e) : suleiman abdullahi le 1 Juin 2020
dank, i had to install optimization add-on!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Optimization Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by