以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求解方程组代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83673)

--  作者:狐作非为
--  发布时间:2016/4/14 11:27:00
--  [求助]求解方程组代码
条件 :10*x+4*y<=300 And 5*x+4*y<=200 And 4*x+9*y<=363
z=600*x +1000*y  (求Z,及 X,Y的最大值)

--  作者:大红袍
--  发布时间:2016/4/14 11:41:00
--  

Dim mx As Integer = 300
Dim my As Integer = 300
Dim max As Integer = 0
Dim cx As Integer = 0
Dim cy As Integer = 0
For x As Integer = 0 To mx
    For y As Integer = 0 To my
        If 10*x+4*y<=300 AndAlso 5*x+4*y<=200 AndAlso 4*x+9*y<=363 Then
            Dim z=600*x +1000*y
            If z > max Then
                max = z
                cx = x
                cy = y
            End If
        End If
    Next
Next

msgbox(max & " " & cx & " " & cy)


--  作者:狐作非为
--  发布时间:2016/4/14 11:53:00
--  
谢谢袍版,但为什么mx,my 会要给个定量呢?如果不给定量,能否用do while?
--  作者:大红袍
--  发布时间:2016/4/14 13:19:00
--  

 不行,不指定x、y的范围是无法求解的。


--  作者:狐作非为
--  发布时间:2016/4/14 13:29:00
--  
谢谢,那我直接将值设定大点可行吗?


--  作者:大红袍
--  发布时间:2016/4/14 14:46:00
--  
 嗯嗯,可以的。
--  作者:狐作非为
--  发布时间:2016/4/14 19:53:00
--  
谢谢袍版图片点击可在新窗口打开查看