查看: 223|回复: 3|关注: 0

[已解决] 如何用MATLAB求解满足约束条件的所有组合?wen't具体如下:a,b,c,d,e均为正整数,a=[30:50],b=[20:40],c=[10:30],d=[5:20],e=[1:10],约束条件:(1)a>b>c>d>e,(2)a+b+c+d+e=...

[复制链接]

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
a,b,c,d,e均为正整数,a=[30:50],b=[20:40],c=[10:30],d=[5:20],e=[1:10],约束条件:(1)a>b>c>d>e,(2)a+b+c+d+e=100.如何编程找到所有符合的组合?我用非线性规划,可是只能找到一组解,我需要获得全部可能的解。希望大家帮助一下我这个萌新,多谢!:handshake

论坛优秀回答者

中级

1023 麦片

财富积分


5001500


0

主题

2519

帖子

221

最佳答案
  • 关注者: 144
发表于 2019-9-30 12:33:55 | 显示全部楼层 |此回复为最佳答案
太多了吧,1stOpt计算:

No.        a        b        c        d        e
1        45        25        23        6        1
2        39        25        17        10        9
3        36        30        21        9        4
4        32        25        21        14        8
5        33        32        19        12        4
6        33        29        27        6        5
7        44        24        21        9        2
8        45        24        13        10        8
9        45        33        13        7        2
10        33        30        17        13        7
11        36        28        17        13        6
12        33        25        24        10        8
13        43        26        15        10        6
14        39        21        20        17        3
15        43        34        12        7        4
16        31        25        18        16        10
17        39        22        18        12        9
18        40        31        18        9        2
19        31        28        20        16        5
20        35        29        21        10        5
21        45        21        16        11        7
22        43        27        14        9        7
23        42        28        12        11        7
24        34        32        18        15        1
25        37        34        13        10        6
26        47        23        18        7        5
27        43        34        10        8        5
28        36        32        18        10        4
29        45        27        15        10        3
30        34        25        18        14        9
31        43        22        16        11        8
32        34        30        17        15        4
33        44        26        14        13        3
34        34        27        19        15        5
35        33        24        23        18        2
36        42        27        18        7        6
37        47        21        18        12        2
38        38        30        23        7        2
39        34        28        24        11        3
40        46        25        21        7        1
41        46        30        11        8        5
42        46        29        18        5        2
43        44        24        20        11        1
44        40        27        23        7        3
45        36        33        19        11        1
46        44        25        13        11        7
47        50        24        17        5        4
48        36        31        19        11        3
49        40        37        11        10        2
50        37        32        22        7        2

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2019-9-30 13:22:19 | 显示全部楼层
shihe 发表于 2019-9-30 12:33
太多了吧,1stOpt计算:

No.        a        b        c        d        e

太感谢了,不过1stOpt是其他软件吗?我不知道这个。大佬可以提供一下代码吗?

论坛优秀回答者

中级

1023 麦片

财富积分


5001500


0

主题

2519

帖子

221

最佳答案
  • 关注者: 144
发表于 2019-10-1 16:29:12 | 显示全部楼层
1stOpt是另外一个优化计算软件,代码很简单,如下:

  1. MultiRun = 100;
  2. IntParameter a=[30,50],b=[20,40],c=[10,30],d=[5,20],e=[1,10];
  3. Function a+b+c+d+e=100;
  4.          a>b;
  5.          b>c;
  6.          c>d;
  7.          d>e;
复制代码


上面自动运行100次就有100组不同的结果:
No.        a        b        c        d        e
1        36        33        16        10        5
2        35        31        18        9        7
3        32        27        21        13        7
4        33        28        21        15        3
5        48        28        12        9        3
6        31        28        23        15        3
7        37        30        18        10        5
8        37        34        15        10        4
9        33        28        26        8        5
10        40        25        16        13        6
11        47        27        15        7        4
12        35        27        22        14        2
13        47        29        15        6        3
14        45        29        12        10        4
15        44        31        15        9        1
16        39        30        23        6        2
17        33        30        26        7        4
18        37        32        16        11        4
19        35        24        20        13        8
20        30        29        28        10        3
21        37        28        25        7        3
22        37        31        13        12        7
23        37        23        17        14        9
24        32        27        18        16        7
25        40        29        17        12        2
26        46        23        13        12        6
27        45        27        18        6        4
28        41        20        16        15        8
29        39        22        17        16        6
30        36        29        19        13        3
31        35        30        26        7        2
32        34        33        25        6        2
33        49        28        12        7        4
34        47        25        18        6        4
35        37        26        17        12        8
36        45        22        16        11        6
37        39        26        17        14        4
38        32        30        25        7        6
39        39        28        19        13        1
40        48        23        20        6        3
41        48        22        16        8        6
42        37        32        17        8        6
43        36        31        17        11        5
44        40        27        24        6        3
45        34        33        16        9        8
46        46        28        12        8        6
47        36        30        18        13        3
48        46        24        16        13        1
49        37        31        23        8        1
50        49        24        11        10        6
51        34        28        21        13        4
52        33        32        26        6        3
53        45        23        16        10        6
54        39        22        19        12        8
55        39        30        18        8        5
56        40        31        13        11        5
57        32        26        21        19        2
58        40        30        13        10        7
59        39        26        19        15        1
60        46        22        14        12        6
61        38        34        17        8        3
62        36        31        17        10        6
63        40        32        20        7        1
64        32        30        24        10        4
65        37        30        21        8        4
66        50        22        14        13        1
67        34        29        26        9        2
68        39        29        19        9        4
69        41        27        20        10        2
70        39        26        19        10        6
71        43        32        13        7        5
72        41        22        19        14        4
73        42        31        13        10        4
74        40        26        15        11        8
75        37        30        15        12        6
76        45        25        20        8        2
77        43        31        14        8        4
78        36        28        17        12        7
79        41        26        14        11        8
80        41        32        13        10        4
81        48        24        19        6        3
82        38        35        17        6        4
83        32        25        21        13        9
84        43        22        19        11        5
85        42        30        16        8        4
86        40        32        19        7        2
87        48        26        13        11        2
88        42        28        15        9        6
89        38        31        18        12        1
90        45        26        19        7        3
91        40        26        25        8        1
92        36        30        22        11        1
93        40        25        24        7        4
94        41        32        19        5        3
95        40        32        18        6        4
96        39        29        17        14        1
97        38        24        18        11        9
98        37        24        20        16        3
99        33        29        21        13        4
100        43        27        14        10        6
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表