2008-10-07 15 views
3

내 응용 프로그램에서 몇 가지 수학 방정식을 해결해야합니다.수식 선형 수학 방정식에 대한 해법

a + b * c - d/e = a 

추가 규칙 : 여기 같은 식의 전형적인 예이다

  • B의 10 % = 0
  • B> = 0
  • B는 < = 100
  • 각 숫자는 반드시 정수일 것
  • ...

a, b, c, d 및 e에 대한 가능한 솔루션 세트를 얻고 싶습니다.

거기 어떤 라이브러리 거기, 오픈 소스 또는 상업적 중 하나는, 내가 사용할 수 있습니다 는 방정식를 해결하기 위해? 그렇다면 어떤 종류의 결과를 제공합니까?

+0

이것은 숙제, Bill K와 같지 않습니다. 대부분의 숙제는 외부 라이브러리가 필요하지 않습니다. 다시 태그하기 전에 생각해주세요. – Landon

답변

3

linear systems일반적으로가 해결 될 수 해결 선형 프로그래밍을 사용합니다. 초보자를위한 Boost uBLAS을 살펴 보는 것이 좋습니다. 간단한 삼각형 솔버입니다. 그런 다음 더 많은 도메인 별 접근 방식을 목표로 라이브러리를 체크 아웃 할 수도 있습니다 (아마도 QSopt).

0

이 선형 프로그래밍처럼 보인다. this 목록에 도움이 있습니까?

+0

이것은 선형 프로그래밍과 거의 비슷하게 보입니다. –

0

다른 게시물 외에. 제약 조건 집합은 이것을정수 프로그래밍 문제와 연상하게하므로 그러한 종류의 문제도 확인하고 싶을 것입니다. 아마도 당신의 문제는 하나로서 재발명 될 수 있습니다.

그러나 정수 프로그래밍 문제는 더 어려운 계산 문제 중 하나 인 경향이 있으므로 많은 클럭 사이클을 사용하여 문제를 해결할 수 있음을 알아야합니다.

2

당신은 수치 분석의 세계로 나서고 있습니다. 여기 용이 있습니다. 외관상으로 작은 규격 차이가 올바른 접근 방식에 큰 차이를 만들 수 있습니다.

문제 도메인에 대한 정확한 설명없이 구체적인 제안을하기를 주저합니다. 그것은 단순한 제한된 선형 문제를 푸는 것처럼 초자연적 인 것처럼 들리지만 많은 방법이 있지만 "..."문제가 될 수 있습니다.

일반 솔버 등을위한 훌륭한 리소스는 GAMS입니다. 당신이 묻고있는 것에 대한 소프트웨어의 상당 부분이 약간 무거울 수 있습니다.

1

나는 그것이 당신의 진짜 문제는 아니라는 것을 알고,하지만 당신에게 주어진 방정식 단순화 할 수 있습니다! 전자와

D = ㄱ * C의 * 전자를 = 0

+0

d = 0, b = 1, c = 1에서는 작동하지 않습니다. 내가 생각한 가장 좋은 것은 b * c = d/e – dummy

+0

아아, 그냥 무시해. – dummy

0

"추가 규칙"부분 만 보면 선형 프로그래밍처럼 보입니다.이 경우 LINDO 또는 Simplex 알고리즘을 구현하는 비슷한 프로그램이 좋을 것입니다.

첫 번째 방정식이 실제로 인 경우이면 선형 대수학 문제가 아닙니다. 서로 곱하거나 나누는 변수가 선형 방정식에 나타나지 않아야합니다.

그래서 저는 컴퓨터 대수학 시스템이 필요하거나 유전 알고리즘을 사용하여 문제를 해결해야한다고 말하고 싶습니다.

선형 프로그래밍에서 발견 된 것과 유사한 제한 사항이 있기 때문에 특정 문제에 대한 솔루션을 원한다면 Wikipedia's article on genetic algorithms 끝에 언급 된 라이브러리 중 하나를 선택하고 결과를 제공하는 앱을 개발하십시오. 좀 더 일반적인 접근법을 원하면 컴퓨터에서 대수 조작을 시뮬레이트해야합니다. 다른 방법은 없습니다.

0

TI-89 계산기에는 '해석기'응용 프로그램이 있습니다. 예를 들어 문제를 해결하기 위해 만들어졌습니다. 나는 도서관이 아니라는 것을 알고있다. 하지만 TI-89 에뮬레이터가 몇 가지 있습니다.