how to optimize this solution??

clc
clear all
close all
syms b d
VNX = ((80*415*0.8*d)/250)+(0.16*sqrt(20)*b*d)+((0.48*70590)/sqrt(20))==175000;
assume(300<b<700)
assume(300<d<700 )
sol = solve([VNX], [b,d]);
bx = sol.b
dx = sol.d
i am getting a solution for it but i want an optimal one
any help regarding it??

回答(1 个)

Walter Roberson
Walter Roberson 2016-1-25

0 个投票

You have a single equation in two variables. When you solve() it you are going to get an equation in one variable. In particular since you listed b first, sol.b will be an equation in d and sol.d will be d (that is, d can assume any value.) You can then solve() sol.b() for your boundary conditions of your assumptions on b, which will allow you to narrow the range of d to consider.
But within that range of d, roughly 300 to 521, there is a solution for b for each value of d.
In order to get an "optimal" solution you need to define what "optimal" means for this situation. Smallest b? Smallest d? Largest b? Largest d?

1 个评论

minimum of either of the two b or d any one amongst them would be sufficient but both of them would be very much helpful

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by