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 件のコメント

abdul haakim mohammed
abdul haakim mohammed 2016 年 1 月 25 日
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